ViewController生命周期

awakeFromNib

创建控制器并勾选xib时不会进awakeFromNib,只有在创建view时会进awakeFromNib

awakeFromNib 从xib或者storyboard加载完毕就会调用

awakeFromNib和viewDidLoad的区别是awakeFromNib在ViewDidLoad之前执行,如果view想改变自己的颜色或者位置,则在awakeFromNib中设置,因为view被load之后再改就来不及了,所以只能在view被load之前进行设置。

initWithCoder 是当从nib文件中加载对象的时候会调用,比如你的view来自nib那么就会调用这个view的这个函数。(由框架调用)

initWithFrame (是由用户调用,来初始化对象的)

initWithNibName方法:是延迟加载,这个View上的控件是 nil 的,只有到 需要显示时,才会不是 nil,初始化UIViewController

loadNibNamed方法:即时加载,用该方法加载的xib对象中的各个元素都已经存在。

- (void)viewWillAppear:(BOOL)animated

{

NSLog(@"viewWillAppear");

}

- (void)viewDidAppear:(BOOL)animated


-(void)viewWillLayoutSubviews

view即将布局其Subviews。比如view的bounds改变了(例如状态栏从不显示到显示,视图方向变化),要调整Subviews的位置,在调整之前要做的一些工作就可以在该方法中实现。

-(void)viewDidLayoutSubviews

view已经布局其Subviews。比如view的bounds改变了(例如状态栏从不显示到显示,视图方向变化),已经调整Subviews的位置,在调整完成之后要做的一些工作就可以在该方法中实现。

-(void)viewWillDisappear:(BOOL)animated

view即将superView中移除,移除动画切换之后调用,此时还没调用removeFromSuperview。

-(void)viewDidDisappear:(BOOL)animated

view从superView中移除,移除动画切换之后调用,此时已调用removeFromSuperview。

-(void)viewWillUnload

{

NSLog(@"viewWillUnload");

}

-(void)viewDidUnload

{

NSLog(@"viewDidUnload");

}


参考:

http://blog.csdn.net/dizzthxl/article/details/14170047

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容