我有一个奇怪的问题。我想在某些条件下更改约束,但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
,也没有用。
答案 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()