通過VFL語法新增約束

2021-07-04 11:28:39 字數 1165 閱讀 3440

當我們想**約束控制項是使用此方法

@implementation viewcontroller

- (void)viewdidload ];

int margin = 20;

nsarray *blueviewh = [nslayoutconstraint constraintswithvisualformat:@"h:|-margin-[blueview]-margin-|" options:0 metrics:@ views:@];

[self.view addconstraints:blueviewh];

// 設定藍色view距離頂部有20的間距, 並且高度等於50   y 和高度

// 設定紅色view距離藍色底部有20的間距, 並且紅色view的高度等於藍色view的高度 y 和高度

// 並且設定紅色和藍色右對齊

nsarray *blueviewv = [nslayoutconstraint constraintswithvisualformat:@"v:|-20-[blueview(50)]-20-[redview(==blueview)]" options:nslayoutformatalignallright metrics:nil views:@];

[self.view addconstraints:blueviewv];

// 注意: 在vfl語句中, 是不支援乘除法

//    nsarray *redveiwh = [nslayoutconstraint constraintswithvisualformat:@"h:[redview(==blueview )]" options:0 metrics:nil views:@];

//    [self.view addconstraints:redveiwh];

nslayoutconstraint *redveiww = [nslayoutconstraint constraintwithitem:redview attribute:nslayoutattributewidth relatedby:nslayoutrelationequal toitem:blueview attribute:nslayoutattributewidth multiplier:0.5 constant:0];

[self.view addconstraint:redveiww];

}@end

VFL 自動約束

我們講講最後的兩條新的vfl語句 h view view2 50 從開始的h 我們可以判斷出這是水平方向的布局,換句話說就是設定檢視的x和width。接著的 view 說明後面的所有檢視都是在view的右側 接著是 說明後乙個檢視和view之間有乙個標準距離的間距 也就是說 x 等於view的右側再...

mysql 新增約束 mysql怎麼新增約束?

在mysql資料庫中,建表時就可以進行對錶的各項進行一些操作,例如新增主鍵約束或者非空約束 也可以在建表後進行新增約束和刪除約束的操作。下面本篇文章就來帶大家具體了解一下,希望對大家有所幫助。什麼是約束?約束實際上就是表中資料的限制條件 目的是為了保證表中的記錄完整和有效。常用的約束有 1 非空約束...

pgsql約束語法

1.新增主鍵 alter table goods add primary key sid 2.新增外來鍵 alter table orders add foreign key goods id references goods sid on update cascade on delete casc...