平时在讲ViewController的生命周期时,我们只大多只关注以下六个方法:
-
viewDidLoad
*viewWillAppear
viewDidAppear
viewWillDisappear
viewDidDisappear
viewDidUnload
其实ViewController的生命周期如下:
-
loadView
[1] -
viewDidLoad
[1] viewWillAppear
-
viewWillLayoutSubviews
[2]Called to notify the view controller that its view is about to layout its subviews.
-
viewDidLayoutSubviews
[2]
Called to notify the view controller that its view has just laid out its subviews.
viewDidAppear
viewWillLayoutSubviews
viewDidLayoutSubviews
viewWillDisappear
viewDidDisappear
viewDidUnload
-
If you manually nil out your view during
didReceiveMemoryWarning
,loadView
andviewDidLoad
will be called again. That is, by defaultloadView
andviewDidLoad
only gets called once per view controller instance. ↩ ↩ -
May be called an additional 0 or more times .
viewWillLayoutSubviews
andviewDidLayoutSubviews
will also be called at other times when subviews of the main view are loaded, for example when cells of a table view or collection view are loaded. ↩ ↩