layoutSubViews<------setNeedsLayout

原文:You should override this method only if the autoresizing behaviors of the subviews do not offer the behavior you want.

setNeedsDisplay会调用自动调用drawRect方法,这样可以拿到UIGraphicsGetCurrentContext,就可以画画了。

setNeedsLayout会默认调用layoutSubViews,就可以处理子视图中的一些数据。

layoutSubviews在以下情况下会被调用:

1、init初始化不会触发layoutSubviews
2、addSubview会触发layoutSubviews
3、设置view的Frame会触发layoutSubviews,当然前提是frame的值设置前后发生了变化
4、滚动一个UIScrollView会触发layoutSubviews
5、旋转Screen会触发父UIView上的layoutSubviews事件
6、改变一个UIView大小的时候也会触发父UIView上的layoutSubviews事件

你可能感兴趣的:(layoutSubViews<------setNeedsLayout)