ios5 – self.presentingViewController返回UITabBarController,而不是ViewModalViewController的视图控制器

我有一个基于标签的应用程序.其中一个意见是推动模态视图控制器.如果我在模态视图控制器中调用self.presentingViewController,它返回标签栏控制器,而不是正在推送它的视图控制器.

在这里缺少什么?有一种可靠的方式来返回视图控制器提高模态吗?

谢谢.

解决方法

这是iPhone应用程式吗?如果是这样,那就解释了混乱.在iPhone上,唯一的演示风格是UIModalPresentationFullScreen – 相当于说在iPhone上,根视图控制器总是呈现视图控制器.那么在Tabbar界面中,UITabBarController的视图就是根视图控制器.

您会注意到,在iPhone上,模态视图不会取代您的视图控制器的视图;它代替整个界面,这意味着它将替换标签栏控制器的视图.这是因为标签栏控制器真的是呈现视图控制器.

我猜,你真的不应该将presentViewController:或presentModalViewController发送到由选项卡控制器包含的视图控制器.您应该将其发送到标签栏控制器.因此,该消息将路由到您的标签栏控制器.

所以没有什么有趣的事情将会发生与presentViewController的价值,除非你在iPad上.在iPad上,您可以使模态视图替换视图控制器的视图.为此,模态视图的modalPresentationStyle必须是UIModalPresentationCurrentContext.在这种情况下,它的presentationViewController实际上可以是“推动模态视图控制器”的视图.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...