IOS中的兩大自動(dòng)布局利器:Autoresizing和Autolayout。
?autoresizing是UIView的屬性妆棒,一直都有澡腾,使用簡單,但是沒有autolayout強(qiáng)大糕珊。autolayout是IOS6以后的新技術(shù)蛋铆,更加強(qiáng)大。一般默認(rèn)Autoresizing都是打開的狀態(tài)放接。
想要單獨(dú)使用autoresizing 首先得將storybord中的useoutlayout選項(xiàng)按鈕關(guān)閉刺啦,才能在視圖進(jìn)行以下操作。
Autoresizing特性
當(dāng)UIView的autoresizesSubviews是YES時(shí)纠脾,(默認(rèn)是YES), 那么在其中的子view會(huì)根據(jù)它自身的autoresizingMask屬性來自動(dòng)適應(yīng)其與superView之間的位置和大小玛瘸。
autoresizingMask是一個(gè)枚舉類型, 默認(rèn)是UIViewAutoresizingNone, 也就是不會(huì)autoresize:
其實(shí)如何理解這幾個(gè)值很簡單蜕青,那就是從xib里面看。 我們在一個(gè)xib文件中糊渊,取消勾選autolayout右核,(默認(rèn)使用autolayout時(shí),autoresizing看不到)渺绒。那么我們可以在布局那一欄看到如何設(shè)置autoresizing.
這些項(xiàng)分別代表:
UIViewAutoresizingNone view的frame不會(huì)隨superview的改變而改變
UIViewAutoresizingFlexibleLeftMargin 自動(dòng)調(diào)整view與superview左邊的距離保證右邊距離不變
UIViewAutoresizingFlexibleWidth 自動(dòng)調(diào)整view的寬贺喝,保證與superView的左右邊距不變
UIViewAutoresizingFlexibleRightMargin 自動(dòng)調(diào)整view與superview右邊的距離保證左邊距不變
UIViewAutoresizingFlexibleTopMargin 自動(dòng)調(diào)整view與superview頂部的距離保證底部距離不變
UIViewAutoresizingFlexibleHeight 自動(dòng)調(diào)整view的高,保證與superView的頂部和底部距離不變
UIViewAutoresizingFlexibleBottomMargin 自動(dòng)調(diào)整view與superview底部部的距離保證頂部距離不變
以上這些都較易理解, 但是autoresizing還有一些組合場景宗兼。那就是組合使用的場景躏鱼。