1、layoutSubviews(刷新子视图)
- subviews重新布局
1、init初始化不会触发layoutSubviews,但是是用initWithFrame 进行初始化时,当rect的值不为CGRectZero时,也会触发
2、addSubview会触发layoutSubviews
3、设置view的Frame会触发layoutSubviews,当然前提是frame的值设置前后发生了变化
4、滚动一个UIScrollView会触发layoutSubviews
5、旋转Screen会触发父UIView上的layoutSubviews事件
6、改变一个UIView大小的时候也会触发父UIView上的layoutSubviews事件
2、setNeedsLayout(重新布局)
在receiver标上一个需要被重新布局的标记,在系统runloop的下一个周期自动调用layoutSubviews
3、layoutIfNeeded(刷新布局)
- 用于自动布局页面的刷新,有需要刷新的标记,立即调用layoutSubviews进行布局
4、setNeedsDisplay(重新绘图)
- 绘图
在receiver标上一个需要被重新绘图的标记,在下一个draw周期自动重绘,iphone device的刷新频率是60hz,也就是1/60秒后重绘
5、awakeFromNib(加载nib)
- nib
当.nib文件被加载的时候,会发送一个awakeFromNib的消息到.nib文件中的每个对象,每个对象都可以定义自己的 awakeFromNib函数来响应这个消息,通过nib文件创建view对象
6、loadView (view)
- view
开始加载视图的起始方法,除非手动调用,否则在ViewController的生命周期中没特殊情况只会被调用一次。