代码中设置的约束是不是会覆盖使用 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 视图中创建的相同 itemattributetoItem)?

【问题讨论】:

【参考方案1】:

不,这增加了一个新的约束,它可能与另一个已经存在的约束发生冲突,导致布局不明确(即自动布局会随机破坏其中一个以解析布局)。您需要先删除另一个约束以使其干净地工作,或者,您也可以只修改另一个约束而不是创建一个新约束。

【讨论】:

以上是关于代码中设置的约束是不是会覆盖使用 AutoLayout 和 SizeClasses 创建的约束?的主要内容,如果未能解决你的问题,请参考以下文章

iOS UIScrollView 的宽度与约束中设置的宽度不同

如何覆盖 iframe 中设置的 css 类? [复制]

如何防止PyCharm覆盖matplotlib中设置的默认后端?

返回 url 发布到 PayPal 将覆盖已在 paypal 商家帐户中设置的返回 url

NetworkParameters 中设置的 maxTransactionSize 是不是包含附件?

如何向放置在 UIStackView 中的以编程方式创建的 UIButton 添加约束