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

Ken*_* Ko 32 uiviewcontroller ios ios8

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

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

文件说,它应该被设置,只要提交视图控制器是模态呈现.鉴于它适用于iOS 7,这可能是iOS 8的错误吗?

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

谢谢

Fer*_*iat 43

与iOS 8有类似的问题,presentingController检查值时nil为nil viewDidLoad.

viewDidLoad被调用时,没有将视图控制器层次结构在导航树加载的保证.将逻辑移到后一阶段(例如viewWillAppear:)应该解决该问题,因为presentingController那时应该加载.

  • 这帮助了我.我需要一个指向函数中`presentsViewController`的指针.我在`viewDidAppear`中创建了一个属性,访问并存储了一个指向`presentsViewController`的指针,以供日后使用. (2认同)