今天在瀏覽網(wǎng)站的時(shí)候屠缭,無意中看到別人的一個(gè)關(guān)于layoutSubViews的總結(jié)箍鼓,感覺蠻實(shí)用的,特此記錄下來方便翻閱呵曹。如有侵權(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
的子視圖俯树。) - 視圖設(shè)置
frame
且frame
變化的時(shí)候會調(diào)用layoutSubviews
帘腹。 - 滾動一個(gè)
UIScrollView
會觸發(fā)UIScrollView
和他的父視圖的layoutSubviews
。 - 旋轉(zhuǎn)設(shè)備會出發(fā)
viewController
的根視圖的layoutSubviews
许饿。(ps: 有評論指出:旋轉(zhuǎn)設(shè)備只有在布局變化的時(shí)候才會調(diào)用該方法阳欲,如果僅僅是UIInterfaceOrientationLandscapeLeft
轉(zhuǎn)換為UIInterfaceOrientationLandscapeRight
, 則不會調(diào)用陋率。) - 調(diào)整一個(gè)視圖的大小會觸發(fā)它的父視圖的
layoutSubviews
球化。
希望可以為諸位的知識體系做個(gè)補(bǔ)充。