IOS自動(dòng)布局Autoresizing

IOS中的兩大自動(dòng)布局利器:Autoresizing和Autolayout。

?autoresizing是UIView的屬性,一直都有,使用簡(jiǎn)單,但是沒(méi)有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屬性來(lái)自動(dòng)適應(yīng)其與superView之間的位置和大小。

autoresizingMask是一個(gè)枚舉類型, 默認(rèn)是UIViewAutoresizingNone, 也就是不會(huì)autoresize:

其實(shí)如何理解這幾個(gè)值很簡(jiǎn)單,那就是從xib里面看。 我們?cè)谝粋€(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還有一些組合場(chǎng)景。那就是組合使用的場(chǎng)景。

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

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

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