我阅读了很多关于如何删除通过故事板添加的约束,拖动插座然后删除等的主题,但我如何删除以编程方式添加的约束?例如
firstView.topAnchor.constraints(equalTo: secondView.bottomAnchor, constant: 15).isActive = true
如何停用它,然后在需要时再次启用它。也许应该是这样的?
firstView.removeConstraint(firstView.topAnchor.constraints(equalTo: secondView.bottomAnchor))
答案 0 :(得分:2)
您应该将约束分配给ViewController
中的媒体资源。然后将.isActive
设置为false
而不是true。
您的代码应如下所示:
let myConstraint = firstView.topAnchor.constraint(equalTo: secondView.bottomAnchor, constant: 15)
现在,要激活它:
myConstraint.isActive = true
并禁用它:
myConstraint.isActive = false
答案 1 :(得分:0)
您需要保留对约束的引用。
Object
不需要时禁用它。
let constraintName:NSLayoutConstraint = firstView.topAnchor.constraint(equalTo: secondView.bottomAnchor, constant: 15)
constraintName.isActive = true
如果需要,请启用它。
constraintName.isActive = false
答案 2 :(得分:-3)
将来不推荐删除约束。
这是另一种方法。
使用以下方法启用/禁用约束
Objective-C
viewHeightConstraint.active = YES; // Enable
viewHeightConstraint.active = NO; // Disable
<强>夫特强>
viewHeightConstraint.isActive = true // Enable
viewHeightConstraint.isActive = false // Disable