1.单个viewcontroller的生命周期
。initWithCoder 如果使用xib或者storyboard
。loadView 加载view
。viewDidLoad view加载完毕调用
。viewWillAppear 控制器的view将要显示
。viewWillLayoutSubviews 控制器的view将要布局子控件
。viewDidLayoutSubviews 控制器的view布局子空间完成
这期间系统可能会多次调用viewWillLayoutSubviews 、 viewDidLayoutSubviews 俩个方法
。viewDidAppear 控制器的view完全显示
。viewWillDisappear 控制器的view即将消失的时候
这期间系统可能会多次调用viewWillLayoutSubviews 、 viewDidLayoutSubviews 俩个方法
。viewDidDisappear 控制器的view完全消失的时候调用
2.多个控制器相互跳转
。 viewWillDisappear 先调用A控制器view 将要消失方法
。 loadView BViewController
。 viewDidLoad BViewController
。 viewWillAppear BViewController
。 viewWillLayoutSubviews BViewController
。 viewDidLayoutSubviews BViewController
。 viewWillLayoutSubviews BViewController
。 viewDidLayoutSubviews BViewController
。 viewDidDisappear AViewController 消失
.小结
-整个控制器生命周期调用次序为 -(id)initwithcoder:(NSCoder*)coder -> loadview -> viewDidload -> -viewWillApear -> viewWillLayoutsubviews -> -viewDidLayoutsubviews -> viewDidAppear ->viewDidDisappear