现在的位置: 首页 > 综合 > 正文

layoutSubviews 和 layoutIfNeeded…

2014年01月25日 ⁄ 综合 ⁄ 共 472字 ⁄ 字号 评论关闭
1、init初始化不会触发layoutSubviews

layoutSubviews在以下情况下会被调用:
2、addSubview会触发layoutSubviews
3、设置view的Frame会触发layoutSubviews,当然前提是frame的值设置前后发生了变化
4、滚动一个UIScrollView会触发layoutSubviews
5、旋转Screen会触发父UIView上的layoutSubviews事件
6、改变一个UIView大小的时候也会触发父UIView上的layoutSubviews事件


setNeedsDisplay和setNeedsLayout方法。首先两个方法都是异步执行的。而setNeedsDisplay会调用自动调用drawRect方法,这样可以拿到UIGraphicsGetCurrentContext,就可以画画了。而setNeedsLayout会默认调用layoutSubViews,就可以处理子视图中的一些数据。

宗上所诉,setNeedsDisplay方便绘图,而layoutSubViews方便出来数据。

抱歉!评论已关闭.