我有一个基于标签的应用程序.其中一个意见是推动模态视图控制器.如果我在模态视图控制器中调用self.presentingViewController,它返回标签栏控制器,而不是正在推送它的视图控制器.
我在这里缺少什么?有一种可靠的方式来返回视图控制器提高模态吗?
谢谢.
解决方法
这是iPhone应用程式吗?如果是这样,那就解释了混乱.在iPhone上,唯一的演示风格是UIModalPresentationFullScreen – 相当于说在iPhone上,根视图控制器总是呈现视图控制器.那么在Tabbar界面中,UITabBarController的视图就是根视图控制器.
您会注意到,在iPhone上,模态视图不会取代您的视图控制器的视图;它代替整个界面,这意味着它将替换标签栏控制器的视图.这是因为标签栏控制器真的是呈现视图控制器.
我猜,你真的不应该将presentViewController:或presentModalViewController发送到由选项卡控制器包含的视图控制器.您应该将其发送到标签栏控制器.因此,该消息将路由到您的标签栏控制器.
所以没有什么有趣的事情将会发生与presentViewController的价值,除非你在iPad上.在iPad上,您可以使模态视图替换视图控制器的视图.为此,模态视图的modalPresentationStyle必须是UIModalPresentationCurrentContext.在这种情况下,它的presentationViewController实际上可以是“推动模态视图控制器”的视图.