我刚刚问了一个有关按比例约束更改UIView高度的问题。问题是我应该一直使用激活和取消激活约束。
一次工作正常,但我想在两个约束之间切换。
我有一个名为topView的UIView和两个约束:
@IBOutlet var cHtTopView1: NSLayoutConstraint!
@IBOutlet var cHtTopView2: NSLayoutConstraint!
第一个将UIView缩放为超级视图高度的0.3倍,第二个缩放为0.5。 这一次起作用:
@IBAction func buttonTouchUpInside(_ sender: Any) {
NSLayoutConstraint.deactivate([self.cHtTopView1])
NSLayoutConstraint.activate([self.cHtTopView2])
}
但是,如果我有另一个试图激活cHtTopView1的按钮,则会出现错误。我很确定这是因为约束已从代码中删除。 所以,我然后尝试了这个:
@IBAction func buttonTouchUpInside(_ sender: Any) {
self.topView.removeConstraint(self.cHtTopView1)
self.topView.addConstraint(self.cHtTopView2)
}
.addConstraint出现错误。 不知道为什么会这样-非常感谢您的帮助。 谢谢,伊恩