带大家来了解下viewController的生命周期的顺序以及何时调用,调用多少次和注意点
1.loadView 如果重写了这个方法,则控制器的view按照loadView方法的描述去创建
2.viewDidLoad 只调用一次
3.viewWillAppear 在视图显示之前该函数可以被多次调用
4.viewDidAppear 视图显示完毕后调用
5.viewWillDisAppear 在视图消失之前,该函数可以被多次调用
6.viewWillLayoutSubviews 布局变化前
注意点:init初始化不会触发layoutSubviews
addSubview会触发layoutSubviews
设置view的Frame会触发layoutSubviews,当然前提 是frame的值设置前后发生了变化
滚动一个UIScrollView会触发layoutSubviews
旋转Screen会触发父UIView上的layoutSubviews事件
改变一个UIView大小的时候也会触发父UIView上的layoutSubviews事件
7.viewDidLayoutSubviews 布局变化后
8.控制器还有三个需要注意的方法
viewWillUnload\viewDidUnload\didReceiveMemoryWarning
当程序内存不够用时,最先拿到内存警告的是
UIApplication-Window-window.rootViewController一层层往下传
当控制器收到内存警告时,如果要确定要销毁view,则会调用viewWillUnload\viewDidUnload
9.当控制器销毁后,又需要显示,则控制器会调用loadView,又一步一步开始走一遍
需注意点:view的生命周期是在 ViewController的生命周期里,当 view 要释放时,Viewcontroller 是不可以释放的