何时会调用viewWillDisAppear / Disappear以及它究竟是如何工作的?

时间:2012-10-25 02:25:11

标签: objective-c xcode4.5

据我所知,当视图即将出现时,将会调用viewWillAppear ....

但IOS如何知道控制器的视图即将出现?

究竟是什么时候以及如何实施?

例如,childController.view是否首先检查该窗口是否是其中一个超级祖先?视图是否有指向它的控制器的指针?究竟是如何运作的?是否每次添加视图时都会检查它的窗口是否是超级祖先以及它是否是UIViewController的视图插座?

例如,如果我添加childcontroller.view但不添加到被调用的任何视图的子视图。 viewWillAppear会调用吗?

childController是否需要是parentController的子节点,以便在自动调用parentController的viewWillAppear时调用childController的viewWillAppear?

1 个答案:

答案 0 :(得分:2)

您的控制器使用- (void)loadView方法加载视图。实现此方法是从笔尖/故事板加载空白视图或视图。如果确实需要从头开始创建视图层次结构,则只需覆盖它。

当首次请求view属性的值并且控制器检测到值为nil时,会发生所有魔法。所有生命周期方法调用都由UIViewController处理。如果需要,除了实现方法之外,您无需做任何其他事情。记住一件事:在调用- (void)viewDidLoad方法之前,无法保证视图已加载。

我所掌握的关于控制器工作原理的一切都来自View Controller Programming Guide