我在视图中有两个UIButton,宽度为232px。
按钮对齐,例如
|[BUTTON1][BUTTON1]|
|-------232px------|
我对此对齐有一组约束,但是现在我希望能够根据条件将BUTTON1
的帧更改为全宽,因此必须以编程方式进行。我尝试更改框架,但是由于它是自动更新的,因此无法使用。基本上,我要实现的是BUTTON1
覆盖BUTTON2
,是否有一种简单的方法?
当您在项目中使用autoLayout时,要更改按钮的框架,必须更改UIButton的约束。
首先使IBOutlet成为按钮的宽度约束,然后当您想更改按钮的框架时像这样更新该约束
button.widthConstraint.constant = //set the constraint;
[UIView animateWithDuration:0.25f
animations:^{
[self.view setNeedsLayout];
}
completion:^(BOOL finished) {
}];
然后设置按钮的出口和宽度约束
self.buttonWidthConstraint += 20 // adjust as per requirements
[self.myButton updateConstraints]
您可以将要covered的按钮的常数设置为0,并为更改设置动画。然后covering按钮将填充整个空间。