单个 viewController 的生命周期
initWithCoder:(NSCoder *)aDecoder:
(如果使用 storyboard 或者 xib)
loadView:
加载 view
viewDidLoad:
view 加载完毕
viewWillAppear:
控制器的 view 将要显示
viewWillLayoutSubviews:
控制器的 view 将要布局子控件
viewDidLayoutSubviews:
控制器的 view 布局子控件完成
这期间系统可能会多次调用viewWillLayoutSubviews, viewDidLayoutSubviews 两个方法
viewDidAppear:
控制器的 view 完全显示
viewWillDisappear:
控制器的 view 即将消失的时候
这期间系统也会调用viewWillLayoutSubviews, viewDidLayoutSubviews 两个方法
viewDidDisappear:
控制器的 view 完全消失的时候
多个 viewControllers 跳转
当我们点击 push 的时候首先会加载下一个界面然后才会调用界面的消失方法
initWithCoder:(NSCoder *)aDecoder:ViewController2
(如果用 xib 创建的情况下)
loadView:
ViewController2
viewDidLoad:
ViewController2
viewWillDisappear:
ViewController1 将要消失
viewWillAppear:
ViewController2 将要出现
viewWillLayoutSubviews:
ViewController2
viewDidLayoutSubviews:
ViewController2
viewWillLayoutSubviews:
ViewController1
viewDidLayoutSubviews:
ViewController1
viewDidDisappear:
ViewController1 完全消失
viewDidAppear:
ViewController2 完全出现
网友评论