2014-11-24 76 views
2

我在控制台中收到通常的Unable to simultaneously satisfy constraints. Probably at least one of the constraints in the following list is one you don't want. ...警告。AutoLayout:无法同时满足约束日志不清

列表中的一个制约因素是:

"<NSLayoutConstraint:0x7fe7bda00ff0 MyView:0x7fe7bbc934f0.height ==>" 

现在,警告本身的意义是相当清楚的:一些约束的冲突和发动机无法满足所有的人。当通过代码设置约束时,这很常见,就像我在这个例子中做的那样。

我不清楚的是这个特定约束的含义。平等中缺失的正确部分是什么意思?

我的猜测是,这意味着height取决于其子视图设置的约束。它是否正确?

+0

这意味着你有太多的约束,他们有冲突。你是否在代码中设置了约束?如果是这样,请向我们显示代码。 – sikhapol 2014-11-24 05:01:43

+0

@SikhapolSaijit是的,他们是在代码中设置的,是的,我知道它的信息意味着有冲突。我不确定没有任何正确价值的具体约束是什么意思。我已经更新了这个问题,以便更清楚。谢谢。 – mokagio 2014-11-24 05:09:46

+0

如果您将其设置为代码,请尝试将“translatesAutoresizingMaskIntoConstraints”设置为“NO”,以使所有涉及这些添加约束的视图都被设置为“NO”。 – sikhapol 2014-11-24 05:40:38

回答

0

在你的约束条件下有一个额外的约束条件是不需要的。

例如,

假设你给予约束开头和结尾,你也都给人一种宽度的限制,这将导致该警告的编译器。因为你需要一个宽度约束或尾随约束,否则编译器会混淆宽度或尾随。

对于自动布局,您需要记住一件事情,您需要制定这样的约束,编译器知道有关视图x,y,宽度和高度的任何视图。

相关问题