VFL(Visual Format Language)
簡單說明:
H 橫向
V 縱向
| 父視圖邊緣
- 預設距離
[viewName(30)] view用[]擴住,不能有self之類的關鍵字(會報錯,原因後續),view的寬或者高為30
- 10 - 兩者間距10
[viewName(>[email protected])] view的寬或者高大于等于60(>=,==,<=),優先級為700(優先級最大為1000,數值越大越優先滿足)
[view1][view2(==view1)] view1後接view2,且view2的寬或者高于view1相等
PS:view的translatesAutoresizingMaskIntoConstraints一定要設定為NO。
UINavigationBar * LHNavigation = [[UINavigationBar alloc] init]; LHNavigation.translatesAutoresizingMaskIntoConstraints = NO;
UITabBar * LHTabBar = [[UITabBar alloc] init];
LHTabBar.translatesAutoresizingMaskIntoConstraints = NO;
UITableView * LHTable = [[UITableView alloc] init];
LHTable.translatesAutoresizingMaskIntoConstraints = NO;
//添加垂直方向的限制
NSNumber *margin = @;
//等同于 NSDictionary *mertrics = [NSDictionary dictionaryWithObjectsAndKeys:20, @"margin", nil]
NSDictionaryOfVariableBindings(margin);
NSDictionary *mertrics = NSDictionaryOfVariableBindings(margin);
NSString *vflV = @"V:|-margin-[LHNavigation]-[LHTable]-[LHTabBar]-|";
NSDictionary * views = NSDictionaryOfVariableBindings(LHNavigation,LHTabBar,LHTable);
NSArray * constraintsV = [NSLayoutConstraint constraintsWithVisualFormat:vflV options: metrics:mertrics views:views];
[self.view addConstraints:constraintsV] ;