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等...