之前就想写这一块的东西,总是忘记,好在今天突然想起来,赶紧上来记一下。
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,到这里一切就结束了,只要你的约束没有问题,那么就可以在机器上看到你想要的效果了。