美文网首页
ViewController生命周期

ViewController生命周期

作者: 静水流深_0321 | 来源:发表于2017-04-06 23:41 被阅读0次

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

相关文章

网友评论

      本文标题:ViewController生命周期

      本文链接:https://www.haomeiwen.com/subject/rhksgttx.html