view的生命周期如下(按顺序)
-(void)loadView
用代码初始化的时候,第一个调用该方法。可以在这里面addSubView
。
-(void)viewDidLoad
初始化时一些数据的设置setUp
。
-(void)viewWillAppear
view 即将出现(每次view出现的时候都会调用)
-(void)viewWillLayoutSubviews
初始化的时候,默认什么也不做。当view(包括subViews)的bounds发生变化的时候会调用,可以用来布局(Tip:此方法之后回调用updateViewConstraints
)
-(void)viewDidLayoutSubviews
初始化的时候,默认什么也不做。注意当view(包括subViews)的bounds发生变化的时候会调用,可以用来布局。这里是bounds而不是frame。经过测试view的frame的size 发生变化才会调用该方法,而origin变化时不会调用
-(void)viewDidAppear
view已经全部展现出来(每次view出现的时候都会调用)
-(void)viewWillDisappear
页面即将消失的时候调用(每次view即将消失的时候,都会调用)
-(void)viewDidLayoutSubviews
-(void)viewDidDisappear
页面已经消失的时候调用,(每次页面消失的时候都会调用)
VC_LIfyCycle.jpg