isMovingToParentViewController总是为导航堆栈的根视图控制器返回FALSE?

时间:2014-04-01 05:49:48

标签: ios uiviewcontroller uinavigationcontroller parent-child

确定导航堆栈的根视图(顶层)控制器是否因最初呈现而未被发现而出现的正确方法是什么?

iOS文档建议在viewWill / DidAppear:中使用isMovingToParentViewController来做出决定。这适用于在堆栈上推送的视图控制器,但对于堆栈根视图控制器似乎总是返回FALSE。

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

看起来其他人回答了同样的问题:iOS: isMovingToParentViewController is not working as expected

虽然这不完全正确,但我认为,viewDidLoad可能不止一次被调用,即使对于根视图也是如此。它可能因内存原因而被卸载,并且需要在从导航堆栈中弹出子视图时重新加载。

我会改变链接帖子中的解决方案,使用static变量而不是实例变量,如果你真的只想看到根控制器被添加一次。