请帮忙,如果您有任何经验,我们的时间会越来越厚。
我有这种结构。
AppDelegate...
...Owns a _root ViewController (its view added to window)
...what owns the _main ViewController (its view added to _root's view)
...that has a Navigation controller (its view added to _main's view)
...then different viewControllers travels in this navigation stack.
但是在最里面的视图中不会调用viewDidAppear / viewWillAppear方法。我不知道为什么。
当我阅读文档时,它会说“添加到窗口时”。它们适用于Windows吗?不要这么认为。我该怎么办?为什么不调用这些CRUTIAL方法?
答案 0 :(得分:1)
框架不允许嵌套视图控制器。
是的,Apple确实这样做了(例如,让你将一个UIViewControllers嵌入到选项卡/导航视图控制器中),但是他们就会知道如何去做。
通过将外部视图控制器中的正确消息转发到内部视图控制器,仍然可以实现这一点,但需要非常小心,并且可能不太适合未来。不过,这次可能会省你!即如果你在你的_root中得到一个viewWillAppear,那么将它转发给它的子视图控制器等。如果你设法正确地执行所有出现/消失,旋转,内存管理,那么你就是好的。