關于layoutSubViews的調(diào)用時機

今天在瀏覽網(wǎng)站的時候,無意中看到別人的一個關于layoutSubViews的總結(jié),感覺蠻實用的,特此記錄下來方便翻閱。如有侵權(quán)之處,請聯(lián)系立即刪除。原文鏈接在此。內(nèi)部作者的博客地址已經(jīng)失效,所以指向了stackoverflow。

  • 視圖的init方法不會觸發(fā)layoutSubviews。
  • addSubView:會觸發(fā)layoutSubviews的調(diào)用。包括父視圖和它所有的子視圖。(ps: 下面有評論指出這條可能有誤,具體情形如下: 添加view1.2view1,view1.2view1的方法layoutSubviews會調(diào)用,而view1.1則不會調(diào)用該方法。view1.2view1.1均為view1的子視圖。)
  • 視圖設置frameframe變化的時候會調(diào)用layoutSubviews
  • 滾動一個UIScrollView會觸發(fā)UIScrollView和他的父視圖的layoutSubviews。
  • 旋轉(zhuǎn)設備會出發(fā)viewController的根視圖的layoutSubviews。(ps: 有評論指出:旋轉(zhuǎn)設備只有在布局變化的時候才會調(diào)用該方法,如果僅僅是UIInterfaceOrientationLandscapeLeft 轉(zhuǎn)換為UIInterfaceOrientationLandscapeRight, 則不會調(diào)用。)
  • 調(diào)整一個視圖的大小會觸發(fā)它的父視圖的layoutSubviews。

希望可以為諸位的知識體系做個補充。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容