Swift 程序化自动布局约束的问题

Posted

技术标签:

【中文标题】Swift 程序化自动布局约束的问题【英文标题】:Issue with Swift programmatic auto-layout constraint 【发布时间】:2018-10-20 15:17:53 【问题描述】:

我只是在使用

toolBar.topAnchor.constraint(equalTo: self.view.topAnchor, constant: 0).isActive = true 

用于设置我的 topAnchor。

但是,当我将常量从 0 更改为实际数字时,控制台会提示我

[LayoutConstraints] 无法同时满足约束。

这个错误。 我在viewDidLoad 中调用此约束,但将其更改为viewWillLayoutSubviews 或其他部分并不能解决问题。

如何解决此错误? 谢谢!

【问题讨论】:

【参考方案1】:

因为你创建了另一个,所以你需要编辑当前的

var topCon:NSLayoutConstraint!

topcon = toolBar.topAnchor.constraint(equalTo: self.view.topAnchor, constant: 0)

topCon.isActive = true

然后玩常量

topCon.constant = // anyNumber

【讨论】:

这并不能解决问题我仍然得到 [LayoutConstraints] 无法同时满足约束。 请发布所有上下文 "<0x600002ed0ff0 h="-&-" v="--&" material.toolbar:0x7fa723e09140 uiview:0x7fa723f0f8d0.midx><0x600002ed1180 h="-&-" v="--&" material.toolbar:0x7fa723e09140 uiview:0x7fa723f0f8d0.width><0x600002ed0730 h:> <0x600002ed0730 h: :0x7fa723f0f8d0> 【参考方案2】:

我只需要把 translatesAutoresizingMaskIntoConstraints = false

【讨论】:

以上是关于Swift 程序化自动布局约束的问题的主要内容,如果未能解决你的问题,请参考以下文章

在 Swift 运行时更改自动布局约束的 UIView 的框架

Swift UIView 自动布局和约束

自动布局,布局约束产生令人费解的结果 UIKit Swift 5

隐藏视图时,自动布局中的 Swift 约束不会改变

如何使用自动布局在 Swift 中为可重用的 UIView 设置约束?

如何在 ios swift 中以编程方式创建自动布局等宽约束?