尝试激活约束时为什么会出现错误?

时间:2019-03-31 03:44:28

标签: ios swift ios-autolayout

我刚刚问了一个有关按比例约束更改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出现错误。 不知道为什么会这样-非常感谢您的帮助。 谢谢,伊恩

0 个答案:

没有答案