如何分析警告 - 无法同时满足约束 - iOS自动布局

时间:2014-04-10 05:52:03

标签: ios7 autolayout nslayoutconstraint

有人请解释我们如何分析与iOS7中自动布局约束相关的以下警告。

以下列表中的至少一个约束可能是您不想要的约束。 试试这个:

  1. 查看每个约束并尝试找出您不期望的内容;
  2. 找到添加了不需要的约束或约束的代码并修复它。 (注意:如果你看到你不理解的NSAutoresizingMaskLayoutConstraints,请参阅UIView属性的文档translatesAutoresizingMaskIntoConstraints)
  3. "< NSLayoutConstraint:0xd9e9920 V:[UIView:0x1e775630(24)]>",
    "< NSLayoutConstraint:0x1e7af840 V:|-(568)-[UIView:0x1e775630]   (Names: '|':UIView:0x1e72f480 )>",
    "< NSLayoutConstraint:0x150a8cc0 V:[UIView:0x1e775630]-(0)-[UIView:0x1508ebd0]>",
    "< NSLayoutConstraint:0x1509f680 V:[UIView:0x1508ebd0]-(0)-|   (Names: '|':UIView:0x1e72f480 )>",
    "< NSAutoresizingMaskLayoutConstraint:0x2491e4c0 h=--& v=--& V:[UIView:0x1e72f480(568)]>"
    )
    Will attempt to recover by breaking constraint 
    <NSLayoutConstraint:0xd9e9920 V:[UIView:0x1e775630(24)]>
    

    提前致谢。

1 个答案:

答案 0 :(得分:2)

可能是以下任何一个问题。

  • 如果您以编程方式使用Autolayout,则需要转向    关闭AutoresizingMask。这可能是个问题。
  

[查看setTranslatesAutoresizingMaskIntoConstraints:NO];

OR

  • 另外,您为视图添加了一个额外的约束。 因此,它无法满足您视图的所有约束。所以,那是一个 问题。
  

NSLayoutConstraint:0xd9e9920 V:[UIView:0x1e775630(24)]

您需要删除视图值为24的垂直约束。