要安全地更改NSLayoutConstraint的常数值,可以使用以下方法:
var constraint: NSLayoutConstraint?
if let constraint = constraint {
view.removeConstraint(constraint)
}
let newConstraint = NSLayoutConstraint(...)
view.addConstraint(newConstraint)
constraint = newConstraint
这样,你就安全地更改了NSLayoutConstraint的常数值。完整的示例代码如下:
var constraint: NSLayoutConstraint?
// 在需要更改约束的地方
if let constraint = constraint {
view.removeConstraint(constraint)
}
let newConstraint = NSLayoutConstraint(...)
view.addConstraint(newConstraint)
constraint = newConstraint