您的位置:首页 > 其它

setNeedsDisplay和setNeedsDisplay和layoutIfNeeded关系

2016-04-05 15:30 281 查看
1.UIView的setNeedsDisplay和setNeedsLayout方法

*首先两个方法都是异步执行的。而setNeedsDisplay会调用自动调用drawRect方法,这样可以拿到 UIGraphicsGetCurrentContext,就可以画画了。而setNeedsLayout会默认调用layoutSubViews,

就可以 处理子视图中的一些数据。

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

setNeedsLayout

//注意一下这句话的意思:调用了layoutSubViews进行布局,但是页面不会重新刷新,还是原来的样子,就好像暂停了一般,必须使用layoutIfNeeded才会刷新,所以setNeedsLayout就好像设置了一个标记,等待layoutIfNeeded去开动

*标记为需要重新布局,不立即刷新,但layoutSubviews一定会被调用

配合layoutIfNeeded立即更新*

layoutIfNeeded

如果,有需要刷新的标记,立即调用layoutSubviews进行布局
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: