在iOS 8中使用presentViewController:animated:completion时,presentsViewController为nil

时间:2014-09-28 04:37:46

标签: ios uiviewcontroller ios8

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

对于我的一个视图控制器,仅在iOS 8上,在调用presentViewController:animated:completion:后,呈现的视图控制器的self.presentingController为零。它在iOS7上很好,也不会在另一个视图控制器上发生。

documentation表示应该设置它,只要呈现的视图控制器是以模态方式呈现的。鉴于它适用于iOS 7,这可能是iOS 8的错误吗?

我已经能够使用视图容器包含方法绕过它,但如果有人之前已经看过这个并且知道触发此行为的根本原因,那将会很好。

感谢

1 个答案:

答案 0 :(得分:42)

在iOS 8中存在类似问题,presentingController在检查viewDidLoad中的值时为{0}。

调用viewDidLoad时,无法保证在导航树中加载视图控制器层次结构。将逻辑移至后续阶段(例如:viewWillAppear)应解决该问题,因为当时应加载presentingController