removeConstraint()不起作用

时间:2016-05-11 17:42:38

标签: ios swift nslayoutconstraint

我有一个奇怪的问题。我想在某些条件下更改约束,但removeConstraint不起作用。约束不会被删除。

以下是代码:

        backButton.translatesAutoresizingMaskIntoConstraints = false
        view.removeConstraint(constLabelTop)
        let constNew = NSLayoutConstraint(item: label, attribute: .CenterY, relatedBy: .Equal, toItem: backButton, attribute: .CenterY,multiplier: 1, constant: 0)
        view.addConstraint(constNew)

约束constLabelTop是一个约束,它将label的顶部设置为backButton以上的几个点。为什么不起作用?

新约束与旧约束冲突,backButton被压扁。

我也尝试了backButton.removeConstraint,也没有用。

1 个答案:

答案 0 :(得分:5)

试试这个:

backButton.translatesAutoresizingMaskIntoConstraints = false
constLabelTop.active = false
NSLayoutConstraint(item: label, attribute: .CenterY, relatedBy: .Equal, toItem: backButton, attribute: .CenterY,multiplier: 1, constant: 0).active = true
self.view.layoutIfNeeded()