首先要起个代号(不然连我自己都会晕+_+)
视图A 、 被添加到视图A的子视图B
- 使用addSubview添加时会调用layoutSubView
- 在A开始被添加到父视图 (如果此时A没有frame 则不会调用layoutSubview)
- 添加B 到A的时候调用 (如果此时B有frame 则会调用)
- 设置A的父视图的Size时会调用
- 设置A的Size时会进行智能判断-->仅当 Size与之前不同时,才会调用A的layoutSubview
- 设置B的frame时会调用
(如果仅仅设置frame 但是没有调用过addSubview添加到父控件上 那么也不会调用layoutSubview )
- 滚动scrollview 的时候也会调用
- 设备的orientation(方向)改变时,涉及改变的UIViewControl 的root view
(此时所有的控件被重新布局,相当于A的frame被改变 那么会调用layoutSubview 而且如果控件有B的话会再调用一次layoutSubview) - Resizing(拉伸) 一个 控件 也会调用它的父控件的layoutSubview
- 调用setNeedsLayout时