【发布时间】:2017-02-05 18:57:24
【问题描述】:
我在开始开发 iOS 应用程序 (Swift) 中的 FoodTracker 示例方面取得了不错的进展,但在 Implement a Custom Control 中遇到了障碍:
2017-02-05 18:45:01.644693 FoodTracker[3066:188362] [LayoutConstraints] 无法同时满足约束。 以下列表中的至少一个约束可能是一个 你不想要。试试这个:(1)查看每个约束并尝试 找出你没想到的; (2) 找到添加的代码 不需要的约束或约束并修复它。 ( "", "", "", "")
将尝试通过打破约束来恢复 (主动)>
在 UIViewAlertForUnsatisfiableConstraints 创建一个符号断点 在调试器中捕获它。中的方法 UIView 上的 UIConstraintBasedLayoutDebugging 类别列于 也可能有帮助。 2017-02-05 18:45:01.645167 FoodTracker[3066:188362] [LayoutConstraints] 无法同时 满足约束。可能至少有一个约束条件 以下列表是您不想要的。试试这个:(1)看每个 约束并尝试找出您不期望的; (2) 找到 添加不需要的约束或约束的代码并修复它。 ( "", " (主动)>", "", "")
将尝试通过打破约束来恢复 (主动)>
在 UIViewAlertForUnsatisfiableConstraints 创建一个符号断点 在调试器中捕获它。中的方法 UIView 上的 UIConstraintBasedLayoutDebugging 类别列于 也可能有帮助。
整个水平视图不是一个 44px x 44px 大小的红色正方形,而是红色。
我已经多次完成这些步骤,复制并粘贴了代码示例,但每次都遇到相同的错误。
我在 OS X El Capitan 10.11.6 上使用 Xcode 8.2.1
【问题讨论】:
-
错误显示的描述对您很有帮助,我马上注意到“无法同时满足约束” - 这通常意味着您正试图以一种不可能的方式锚定约束。请显示您的布局代码,以便我们帮助找出问题
-
另外,发布 full 布局警告/错误。他们倾向于直接指出问题。 (是的,它非常丑陋,但这就是它的本质。)
-
@Pierce,指南中没有关于约束的说明,因为我是新手,所以我不明白该怎么做。另外,我使用的代码在Add Buttons to the View。
-
错误描述为“无法同时满足约束”。这通常意味着您创建了两个或多个不能在同一点存在的约束(例如,您为控件设置了“宽度”约束,并将宽度设置为等于父视图的宽度 - 这实际上是当我第一次遇到此错误时,我发生了什么事)。
-
@dfd,我在哪里可以找到这些额外的警告或错误?