在代码中设置的约束是否会覆盖使用 AutoLayout 和 SizeClasses 创建的约束?
Will constraints set up in code override constraints created using AutoLayout and SizeClasses?
我这样设置约束:
constraintButtonUpgrade = NSLayoutConstraint (item: buttonUpgrade,
attribute: NSLayoutAttribute.Bottom,
relatedBy: NSLayoutRelation.Equal,
toItem: self.view,
attribute: NSLayoutAttribute.Bottom,
multiplier: 1,
constant: 500)
self.view.addConstraint(constraintButtonUpgrade)
此代码是否会修改我在 Storyboard 视图中创建的相同约束条件的常量(具有相同的 item
、attribute
、toItem
?
不,这会添加一个新约束,该约束可能会与其他已经存在的约束发生冲突,从而导致布局不明确(即自动布局会随机破坏其中一个约束以解析布局)。您需要先删除其他约束才能使其正常工作,或者,您也可以只修改其他约束而不是创建新约束。
我这样设置约束:
constraintButtonUpgrade = NSLayoutConstraint (item: buttonUpgrade,
attribute: NSLayoutAttribute.Bottom,
relatedBy: NSLayoutRelation.Equal,
toItem: self.view,
attribute: NSLayoutAttribute.Bottom,
multiplier: 1,
constant: 500)
self.view.addConstraint(constraintButtonUpgrade)
此代码是否会修改我在 Storyboard 视图中创建的相同约束条件的常量(具有相同的 item
、attribute
、toItem
?
不,这会添加一个新约束,该约束可能会与其他已经存在的约束发生冲突,从而导致布局不明确(即自动布局会随机破坏其中一个约束以解析布局)。您需要先删除其他约束才能使其正常工作,或者,您也可以只修改其他约束而不是创建新约束。