自动布局中的错误可分为三大类:
* 不可满足的布局。 您的布局没有有效的解决方案。 有关更多信息,请参阅 [Unsatisfiable Layouts](https://developer.apple.com/library/archive/documentation/UserExperience/Conceptual/AutolayoutPG/ConflictingLayouts.html#//apple_ref/doc/uid/TP40010853-CH19-SW1) 。
* 模棱两可的布局。 您的布局有两个或更多可能的解决方案。 有关更多信息,请参阅 [Ambiguous Layouts](https://developer.apple.com/library/archive/documentation/UserExperience/Conceptual/AutolayoutPG/AmbiguousLayouts.html#//apple_ref/doc/uid/TP40010853-CH18-SW1) 。
* 逻辑错误。 布局逻辑中存在一个错误。 有关更多信息,请参阅 [Logical Errors](https://developer.apple.com/library/archive/documentation/UserExperience/Conceptual/AutolayoutPG/LogicalErrors.html#//apple_ref/doc/uid/TP40010853-CH20-SW1)。
大多数时候,真正的问题只是确定出了什么问题。 您添加了您认为需要的约束,但是当您运行应用程序时,事情并没有像您希望的那样结果。
通常,只要您了解问题,解决方案就很明显。 删除冲突的约束,添加缺少的约束,并调整绑定的优先级,以便有明显的赢家。 当然,达到可以轻松理解问题的程度可能需要一些试验和错误。 像任何技能一样,通过练习变得更容易。
然而,有时事情变得更复杂。 这就是 [Debugging Tricks and Tips](https://developer.apple.com/library/archive/documentation/UserExperience/Conceptual/AutolayoutPG/DebuggingTricksandTips.html#//apple_ref/doc/uid/TP40010853-CH21-SW1) 章节的用武之地。
>原文地址
>[Types of Errors](https://developer.apple.com/library/archive/documentation/UserExperience/Conceptual/AutolayoutPG/TypesofErrors.html#//apple_ref/doc/uid/TP40010853-CH17-SW1)