layoutSubviews总结(转)
?
- - (void)setNeedsDisplay
- - (void)drawRect
???但是是用initWithFrame?進行初始化時,當rect的值不為CGRectZero時,也會觸發
??????You should override this method only if the autoresizing behaviors of the subviews do not offer the behavior you want.
?layoutSubviews, 當我們在某個類的內部調整子視圖位置時,需要調用。
?刷新子對象布局
-setNeedsLayout方法: 標記為需要重新布局,異步調用layoutIfNeeded刷新布局,不立即刷新,但layoutSubviews一定會被調用
-layoutIfNeeded方法:如果,有需要刷新的標記,立即調用layoutSubviews進行布局(如果沒有標記,不會調用layoutSubviews)
如果要立即刷新,要先調用[view?setNeedsLayout],把標記設為需要布局,然后馬上調用[view?layoutIfNeeded],實現布局
-setNeedsDisplay方法:標記為需要重繪,異步調用drawRect
-setNeedsDisplayInRect:(CGRect)invalidRect方法:標記為需要局部重繪
?
?layoutIfNeeded遍歷的不是superview鏈,應該是subviews鏈
setNeedDisplay在receiver標上一個需要被重新繪圖的標記,在下一個draw周期自動重繪,iphone device的刷新頻率是60hz,也就是1/60秒后重繪
轉載于:https://www.cnblogs.com/pengpengzhang/p/5301897.html
總結
以上是生活随笔為你收集整理的layoutSubviews总结(转)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 椹美天颜唇膏一支多少钱?
- 下一篇: MyEclipse中运行环境jre、编译