ios - 使用 presentViewController :animated:completion: in iOS 8 时 presentingViewController 为 nil

标签 ios uiviewcontroller ios8

想知道最近是否有其他人遇到过这个问题......

对于我的一个 View Controller ,仅在 iOS 8 上,在调用 presentViewController:animated:completion: 之后,呈现的 View Controller 将 self.presentingController 设为 nil。在 iOS7 上没问题,在另一个 View Controller 上也不会发生。

documentation说应该设置它,只要呈现的 View Controller 是模态呈现的。鉴于它适用于 iOS 7,这可能是 iOS 8 的错误吗?

我已经能够使用 View 容器包含方法绕过它,但如果有人以前见过这个并且知道触发此行为的根本原因,那就太好了。

谢谢

最佳答案

在 iOS 8 中也有类似的问题,当检查 viewDidLoad 中的值时,presentingController 为 nil。

viewDidLoad 被调用时,不能保证 View Controller 层次结构被加载到导航树中。将逻辑移到后面的阶段(例如:viewWillAppear)应该可以解决该问题,因为届时应该加载 presentingController

关于ios - 使用 presentViewController :animated:completion: in iOS 8 时 presentingViewController 为 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26081661/

相关文章:

ios - 将 UIImage 绘制为 MKMapView 的 subview 与将其绘制为 map View 中的注释相比,对 CPU 的压力更小。为什么?

ios - ViewController 推送的差异

ios - 如何构建适用于 ios 7 和 ios 8 的应用程序?

ios - 根据响应中的内容可用性调整 UITableViewCell 的大小

ios - 具有自定义层的 UIButton 子类不会完全填充相邻 View 的空间

ios - 使用第二个 UIViewController 启动 ViewPagerController

xcode - Swift、Modal Segue 和 ViewController 问题

iOS 8 Alertview 操作按钮颜色为白色

ios - 为支持所有方向的应用程序强制启动方向

ios - native 模块不能为空。 | react native