iOS代码中的自动布局添加约束

之前就想写这一块的东西,总是忘记,好在今天突然想起来,赶紧上来记一下。

1.在添加约束前,记得要先把那些控件添加到父控制器上。

[self.view addSubview:_bottomView];

2.在添加约束前,记得要把setTranslatesAutoresizingMaskIntoConstraints给设置成NO。

[_bottomView setTranslatesAutoresizingMaskIntoConstraints:NO];

3.最重要的一部,写好约束。

NSLayoutConstraint *bottomView_topConstraint = [NSLayoutConstraint constraintWithItem:_bottomView attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:_bottomView.superview attribute:NSLayoutAttributeTop multiplier:1.0f constant:100];

NSLayoutConstraint *bottomView_leftConstraint = [NSLayoutConstraint constraintWithItem:_bottomView attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:_bottomView.superview attribute:NSLayoutAttributeLeft multiplier:1.0f constant:100];

NSLayoutConstraint *bottomView_xConstraint = [NSLayoutConstraint constraintWithItem:_bottomView attribute:NSLayoutAttributeCenterX relatedBy:NSLayoutRelationEqual toItem:_bottomView.superview attribute:NSLayoutAttributeCenterX multiplier:1.0f constant:0];

NSLayoutConstraint *bottomView_yConstraint = [NSLayoutConstraint constraintWithItem:_bottomView attribute:NSLayoutAttributeCenterY relatedBy:NSLayoutRelationEqual toItem:_bottomView.superview attribute:NSLayoutAttributeCenterY multiplier:1.0f constant:0];

这是我对bottomView进行的约束。基本用法,估计有一定语言基础的程序都应该能过摸索出来,总的来说,还算不复杂。

4.最后一步,将写好的约束设置给物体。

a)

[_bottomView.superview addConstraints:@[bottomView_xConstraint,bottomView_yConstraint,bottomView_topConstraint,bottomView_leftConstraint]];

b)

bottomView_leftConstraint.active = YES;

bottomView_topConstraint.active = YES;

bottomView_yConstraint.active = YES;

bottomView_xConstraint.active = YES;

a和b两种方式亲测都是可行的。

5.OK,到这里一切就结束了,只要你的约束没有问题,那么就可以在机器上看到你想要的效果了。

你可能感兴趣的:(iOS代码中的自动布局添加约束)