layoutSubviews
:(相当于layoutSubviews()
函数)在以下情况下会被调用:
init
初始化不会触发layoutSubviews
。
addSubview
会触发layoutSubviews
。
设置view
的Frame
会触发layoutSubviews
(frame
发生变化触发)。
滚动一个UIScrollView
会触发layoutSubviews
。
旋转Screen
会触发父UIView
上的layoutSubviews
事件。
改变一个UIView
大小的时候也会触发父UIView
上的layoutSubviews
事件。
直接调用setLayoutSubviews
。
drawrect:drawrect()
函数)在以下情况下会被调用:
drawrect:
是在UIViewController
的loadView:
和ViewDidLoad:
方法之后调用.
当我们调用[UIFont的 sizeToFit]
后,会触发系统自动调用drawRect:
当设置UIView
的contentMode
或者Frame
后会立即触发触发系统调用drawRect:
直接调用setNeedsDisplay
设置标记 或setNeedsDisplayInRect:
的时候会触发drawRect: