-
(void)viewDidLoad {
[super viewDidLoad];UIView *view = [[UIView alloc] init];
view.backgroundColor = [UIColor redColor];//用Constraints(layout)來布局;哪個視圖(view)使用layout布局哪個控件就必須寫這句話
[view setTranslatesAutoresizingMaskIntoConstraints:NO];
[self.view addSubview:view];//****************** 給視圖添加約束的四個步驟 ***************************
//被添加的約束對象的superView
//第一個參數:表示被添加約束的對象;
//第二個參數:表示被約束的方向;是一個枚舉值;
/*
NSLayoutAttributeLeft = 1,
NSLayoutAttributeRight,
NSLayoutAttributeTop,
NSLayoutAttributeBottom,
NSLayoutAttributeLeading,
NSLayoutAttributeTrailing,
NSLayoutAttributeWidth,
NSLayoutAttributeHeight,
NSLayoutAttributeCenterX,
NSLayoutAttributeCenterY,
*/
//第三個參數: 寫零//第四個參數:參照的對象
//第五個參數:與參照對象的方向
//第六個參數:比例,指的是view的寬和高的比例
//第七個參數:兩個視圖的距離
[self.view addConstraint:[NSLayoutConstraint constraintWithItem:view attribute:NSLayoutAttributeLeft relatedBy:0 toItem:self.view attribute:NSLayoutAttributeLeft multiplier:1 constant:30]];
//確定y軸
[self.view addConstraint:[NSLayoutConstraint constraintWithItem:view attribute:NSLayoutAttributeTop relatedBy:0 toItem:self.view attribute:NSLayoutAttributeTop multiplier:1 constant:30]];
//******* 第一種約束方法 ********
//單獨給約束對象寬度,是不需要給參照對象的;
[self.view addConstraint:[NSLayoutConstraint constraintWithItem:view attribute:NSLayoutAttributeWidth relatedBy:0 toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1 constant:40]];
//******* 第二種約束方法 *******
//用一個view的寬度來約束另一個view的寬度;約束是相互制約的
[self.view addConstraint:[NSLayoutConstraint constraintWithItem:view attribute:NSLayoutAttributeWidth relatedBy:0 toItem:view attribute:NSLayoutAttributeHeight multiplier:1 constant:0]];
UIView *view1 = [[UIView alloc] init];
view1.backgroundColor = [UIColor blueColor];;
[view1 setTranslatesAutoresizingMaskIntoConstraints:NO];
[self.view addSubview:view1];
[self.view addConstraint:[NSLayoutConstraint constraintWithItem:view1 attribute:NSLayoutAttributeLeft relatedBy:0 toItem:view attribute:NSLayoutAttributeRight multiplier:1 constant:40]];
[self.view addConstraint:[NSLayoutConstraint constraintWithItem:view1 attribute:NSLayoutAttributeCenterY relatedBy:0 toItem:view attribute:NSLayoutAttributeCenterY multiplier:1 constant:0]];
[self.view addConstraint:[NSLayoutConstraint constraintWithItem:view1 attribute:NSLayoutAttributeWidth relatedBy:0 toItem:view attribute:NSLayoutAttributeWidth multiplier:1 constant:0]];
[self.view addConstraint:[NSLayoutConstraint constraintWithItem:view1 attribute:NSLayoutAttributeHeight relatedBy:0 toItem:view attribute:NSLayoutAttributeHeight multiplier:1 constant:0]];
}