确定导航堆栈的根视图(顶层)控制器是否因最初呈现而未被发现而出现的正确方法是什么?
iOS文档建议在viewWill / DidAppear:中使用isMovingToParentViewController来做出决定。这适用于在堆栈上推送的视图控制器,但对于堆栈根视图控制器似乎总是返回FALSE。
感谢您的帮助。
答案 0 :(得分:2)
看起来其他人回答了同样的问题:iOS: isMovingToParentViewController is not working as expected。
虽然这不完全正确,但我认为,viewDidLoad
可能不止一次被调用,即使对于根视图也是如此。它可能因内存原因而被卸载,并且需要在从导航堆栈中弹出子视图时重新加载。
我会改变链接帖子中的解决方案,使用static
变量而不是实例变量,如果你真的只想看到根控制器被添加一次。