0

我知道当视图即将出现时会调用 viewWillAppear 。

但是IOS怎么知道一个控制器的视图即将出现呢?

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

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

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

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

4

1 回答 1

2

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

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

我所了解的关于控制器如何工作的一切都来自View Controller Programming Guide

于 2012-10-25T02:34:20.780 回答