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