今天在瀏覽網(wǎng)站的時候,無意中看到別人的一個關于layoutSubViews的總結(jié),感覺蠻實用的,特此記錄下來方便翻閱。如有侵權(quán)之處,請聯(lián)系立即刪除。原文鏈接在此。內(nèi)部作者的博客地址已經(jīng)失效,所以指向了stackoverflow。
- 視圖的
init方法不會觸發(fā)layoutSubviews。 -
addSubView:會觸發(fā)layoutSubviews的調(diào)用。包括父視圖和它所有的子視圖。(ps: 下面有評論指出這條可能有誤,具體情形如下: 添加view1.2到view1,view1.2和view1的方法layoutSubviews會調(diào)用,而view1.1則不會調(diào)用該方法。view1.2和view1.1均為view1的子視圖。) - 視圖設置
frame且frame變化的時候會調(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。
希望可以為諸位的知識體系做個補充。