Autolayout自動布局3

2021-07-09 16:50:10 字數 3341 閱讀 4981

//不要將autoresizingmask轉為autolayout的約束

blueview.translatesautoresizingmaskintoconstraints = no;

uiview *redview = [[uiview alloc] init];

[self.view addsubview:redview];

redview.backgroundcolor = [uicolor redcolor];

//不要將autoresizingmask轉為autolayout的約束

redview.translatesautoresizingmaskintoconstraints = no;

/**************blueview的約束**************/

//新增高度約束:40

nslayoutconstraint *heightconstraint = [nslayoutconstraint constraintwithitem:blueview attribute:nslayoutattributeheight relatedby:nslayoutrelationequal toitem:nil attribute:nslayoutattributenotanattribute multiplier:0.0 constant:40];

[blueview addconstraint:heightconstraint];

//新增左邊約束:blueview的左邊距離父控制項右邊有20的間距

nslayoutconstraint *leftconstraint = [nslayoutconstraint constraintwithitem:blueview attribute:nslayoutattributeleft relatedby:nslayoutrelationequal toitem:blueview.superview attribute:nslayoutattributeleft multiplier:1.0 constant:20];

[blueview.superview addconstraint:leftconstraint];

//新增右邊約束:blueview的右邊距離父控制項右邊有20的間距

nslayoutconstraint *rightconstraint = [nslayoutconstraint constraintwithitem:blueview attribute:nslayoutattributeright relatedby:nslayoutrelationequal toitem:blueview.superview attribute:nslayoutattributeright multiplier:1.0 constant:-20];

[blueview.superview addconstraint:rightconstraint];

//新增頂部約束:blueview的頂部距離父控制項的頂部有20的間距

nslayoutconstraint *topconstraint = [nslayoutconstraint constraintwithitem:blueview attribute:nslayoutattributetop relatedby:nslayoutrelationequal toitem:blueview.superview attribute:nslayoutattributetop multiplier:1.0 constant:20];

[blueview.superview addconstraint:topconstraint];

/**************redview的約束**************/

//新增高度約束:跟blueview一致

nslayoutconstraint *heightconstraint2 = [nslayoutconstraint constraintwithitem:redview attribute:nslayoutattributeheight relatedby:nslayoutrelationequal toitem:blueview attribute:nslayoutattributeheight multiplier:1.0 constant:0];

[self.view addconstraint:heightconstraint2];

//新增左邊約束:redview左邊 == 父控制項的中心x

nslayoutconstraint *leftconstraint2 = [nslayoutconstraint constraintwithitem:redview attribute:nslayoutattributeleft relatedby:nslayoutrelationequal toitem:self.view attribute:nslayoutattributecenterx multiplier:1.0 constant:0];

[self.view addconstraint:leftconstraint2];

//新增頂部約束:redview的頂部距離blueview有20的間距

nslayoutconstraint *topconstraint2 = [nslayoutconstraint constraintwithitem:redview attribute:nslayoutattributetop relatedby:nslayoutrelationequal toitem:blueview attribute:nslayoutattributebottom multiplier:1.0 constant:20];

[blueview.superview addconstraint:topconstraint2];

//新增右邊約束:redview的右邊 == blueview的右邊

nslayoutconstraint *rightconstraint2 = [nslayoutconstraint constraintwithitem:redview attribute:nslayoutattributeright relatedby:nslayoutrelationequal toitem:blueview attribute:nslayoutattributeright multiplier:1.0 constant:0];

[self.view addconstraint:rightconstraint2];

自動布局 Autolayout

簡介 在以前的ios程式中,是如何設定布局ui介面的?經常編寫大量的座標計算 為了保證在3.5 inch和4.0 inch螢幕上都能有完美的ui介面效果,有時還需要分別為2種螢幕編寫不同的座標計算 即傳說中的 螢幕適配 什麼是autolayout?autolayout是一種 自動布局 技術,專門用來...

AutoLayout自動布局

autolayout 自動布局 入門 這是博主的wwdc2012筆記系列中的一篇,完整的筆記列表可以參看這裡。如果您是首次來到本站,也許您會有興趣通過rss,或者通過頁面左側的郵件訂閱的方式訂閱本站。autolayout是一種基於約束的,描述性的布局系統。auto layout is a const...

iOS 自動布局Autolayout

自動布局 autolayout 簡介 在以前的ios程式中,是如何設定布局ui介面的?經常編寫大量的座標計算 為了保證在3.5 inch和4.0 inch螢幕上都能有完美的ui介面效果,有時還需要分別為2種螢幕編寫不同的座標計算 即傳說中的 螢幕適配 什麼是autolayout?autolayout...