自動布局的基本用法

2021-07-10 06:23:01 字數 2082 閱讀 3467

1.最簡單用法

//簡單新增控制項

uibutton *button = [[uibutton alloc] init];

button.backgroundcolor = [uicolor redcolor];

//必須說明,以前一下轉化就不要用了,就是直接的自動布局.

button.translatesautoresizingmaskintoconstraints = no;

[button settitle:@"自動布局" forstate:uicontrolstatenormal];

[button settitlecolor:[uicolor whitecolor] forstate:uicontrolstatenormal];

[button settitlecolor:[uicolor redcolor] forstate:uicontrolstatehighlighted];

//如果要用到父類的約束,就要先新增

[self.view addsubview:button];

//新增width約束

// constraintwithitem:自己控制項 attribute:約束 relatedby:等於還是大於 toitem:別人控制項 attribute:約束 multiplier:乘以多少 constant:加多少

//這個約束是,自己寬是300.0

nslayoutconstraint *with_constraint = [nslayoutconstraint constraintwithitem:button attribute:nslayoutattributewidth relatedby:nslayoutrelationequal toitem:nil attribute:nslayoutattributenotanattribute multiplier:0.0 constant:300.0];

[button addconstraint:with_constraint];

//高度的約束

nslayoutconstraint *height_constraint = [nslayoutconstraint constraintwithitem:button attribute:nslayoutattributeheight relatedby:nslayoutrelationequal toitem:nil attribute:nslayoutattributenotanattribute multiplier:0.0 constant:300];

[button addconstraint:height_constraint];

//邊距的約束,右邊的約束 這個約束和父類有關係,所以就父類加約束

nslayoutconstraint *right_constraint =[nslayoutconstraint constraintwithitem:button attribute:nslayoutattributeright relatedby:nslayoutrelationequal toitem:self.view attribute:nslayoutattributeright multiplier:1.0 constant:-10];

[self.view addconstraint:right_constraint];

//下面的約束

網格化布局的基本用法與實現

用來實現對網頁區域劃分的一種手法。在網格化水平區域稱為行 row 垂直區域稱為列 column display grid 指定容器採用網格化布局,預設容器元素都是塊級元素 display inline grid 網格化布局,設定容器元素為行內元素 注 設定網格化布局後,容器子元素的 float di...

IOS Layer的 自動布局

前言 今天在stackoverflow上給乙個外國友人回答問題的時候,遇到了layer的自動布局的問題。這裡寫出來,分享給需要的人。ios 的calayer到目前為止不支援autolayout也不支援autoresizingmask。如果,要繪製乙個漸變的顏色,作為背景色。定義乙個配置函式 void...

iOS scrollView的自動布局

傳送門 xcode6中極大的增強了ib中自動布局的能力,下面就通過對刺兒頭scrollview進行一次自動布局實戰,看看自動布局在xcode6中到底值不值得使用。說 uiscrollview是個刺兒頭,實在沒有誇張,這是由於scrollview本身contentsize contentinsets等...