无法同时满足约束。前导和尾随约束冲突

时间:2014-09-19 15:57:48

标签: ios iphone autolayout constraints xcode6

有人可以帮我理解这些错误并建议如何解决这些错误吗?

2014-09-19 08:52:45.812 Zazzle [23292:1834589]无法同时满足约束条件。     可能至少以下列表中的一个约束是您不想要的约束。试试这个:(1)看看每个约束,并试着找出你不期望的东西; (2)找到添加了不需要的约束或约束的代码并修复它。 (注意:如果您正在查看您不了解的NSAutoresizingMaskLayoutConstraints,请参阅UIView属性的文档translatesAutoresizingMaskIntoConstraints)

(
    "<NSLayoutConstraint:0x7c0ba1e0 H:|-(8)-[UIView:0x7c0bb900]   (Names: '|':UIView:0x7c0b6c20 )>",
    "<NSLayoutConstraint:0x7c0ba210 H:[UIView:0x7c0bb900]-(8)-|   (Names: '|':UIView:0x7c0b6c20 )>",
    "<NSLayoutConstraint:0x7c0942e0 UIView:0x7c0b6c20.left == UIView:0x7c0bbfa0.left>",
    "<NSLayoutConstraint:0x7c0c03e0 UIView:0x7c0b6c20.right == UIView:0x7c0bbfa0.right>",
    "<NSLayoutConstraint:0x7c635250 'UIView-Encapsulated-Layout-Width' H:[UIView:0x7c0bbfa0(2)]>"
)

Will attempt to recover by breaking constraint 
<NSLayoutConstraint:0x7c0ba210 H:[UIView:0x7c0bb900]-(8)-|   (Names: '|':UIView:0x7c0b6c20 )>

2 个答案:

答案 0 :(得分:3)

从以下步骤

  1. 检查UiObject的约束,并从Xcode的大小检查器中删除任何重复的约束。
  2. 如果没有重复,请找出导致问题的确切约束
  3. 尝试将约束的优先级从默认值(1000)更改为高(750)。

答案 1 :(得分:0)

冲突就在那里:前两个约束将子视图的前导和尾随值设置为距离包含视图控制器的左右边缘8像素,而第三和第四行设置它们与包含视图的边缘完全相同甚至。删除一对或另一对,或者,正如@dasdom所说,降低其中一个约束对的优先级。