UIView * view = [UIView new];
// 代码添加AutoLayout的注意点
// 需要先禁止AutoResizing功能,设置如下
// view.translatesAutoresizingMaskIntoConstraints = NO;
// 添加约束之前,确保所有View已经添加到父控件上
// 设置AutoLayout之后无需再设置frame
view.translatesAutoresizingMaskIntoConstraints = NO;
view.backgroundColor = [UIColor redColor];
// view.frame = CGRectMake(10, 10, 100, 100); ---> 不再设置frame
[self.view addSubview:view];
//设置底边约束
NSLayoutConstraint * bottomConstraint = [NSLayoutConstraint constraintWithItem:view attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeBottom multiplier:1.0 constant:-10];
//设置右边约束
NSLayoutConstraint * rightConstraint = [NSLayoutConstraint constraintWithItem:view attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeRight multiplier:1.0 constant:-10];
//设置width约束
NSLayoutConstraint * widthConstraint = [NSLayoutConstraint constraintWithItem:view attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:0 constant:200];
//设置height约束
NSLayoutConstraint * heightConstraint = [NSLayoutConstraint constraintWithItem:view attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:0 constant:200];
[self.view addConstraint:bottomConstraint];
[self.view addConstraint:rightConstraint];
[view addConstraint:widthConstraint];
[view addConstraint:heightConstraint];
ios 用 AutoLayout写View
最新推荐文章于 2022-03-27 21:48:22 发布