代码中设置的约束是不是会覆盖使用 AutoLayout 和 SizeClasses 创建的约束?
Posted
技术标签:
【中文标题】代码中设置的约束是不是会覆盖使用 AutoLayout 和 SizeClasses 创建的约束?【英文标题】:Will constraints set up in code override constraints created using AutoLayout and SizeClasses?代码中设置的约束是否会覆盖使用 AutoLayout 和 SizeClasses 创建的约束? 【发布时间】:2015-01-31 20:17:11 【问题描述】:我是这样设置约束的:
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
)?
【问题讨论】:
【参考方案1】:不,这增加了一个新的约束,它可能与另一个已经存在的约束发生冲突,导致布局不明确(即自动布局会随机破坏其中一个以解析布局)。您需要先删除另一个约束以使其干净地工作,或者,您也可以只修改另一个约束而不是创建一个新约束。
【讨论】:
以上是关于代码中设置的约束是不是会覆盖使用 AutoLayout 和 SizeClasses 创建的约束?的主要内容,如果未能解决你的问题,请参考以下文章
iOS UIScrollView 的宽度与约束中设置的宽度不同
如何防止PyCharm覆盖matplotlib中设置的默认后端?
返回 url 发布到 PayPal 将覆盖已在 paypal 商家帐户中设置的返回 url