首页 > 解决方案 > Xcode 10:添加简单约束时出现歧义约束错误

问题描述

我正在使用 Xcode 10 并在尝试向我的视图添加一些非常简单的约束时遇到一些错误。

我有一个UICollectionViewCell我要添加的UIStackView。我调整大小UIStackView以填充单元格并将顶部、底部、左侧和右侧约束设置为安全区域。

我曾经能够在 Xcode 9 中毫无错误地做到这一点,但是,它现在给了我一个错误,我需要指定X Position 或 Width 和 Y Position 或 Height。即使我让界面构建器添加缺少的约束(Center X 和 Center Y),它也会给出相同的错误。我觉得这是 Xcode 10 中的一个错误,但是如果我不知道 iOS 12 对约束有新的要求,我将不胜感激。

如果我忽略错误的约束并运行应用程序,则视图不会正确显示。

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

更新

我绝对认为这是一个错误。请注意,在下面的屏幕截图中,即使我在堆栈视图中有子视图,错误也不会消失。此外,当我在顶部、左侧、底部和右侧添加静态填充时,它不会在布局中正确显示,但是当我运行应用程序时它会正确布局。

在此处输入图像描述

标签: iosxcodeautolayoutxcode10

解决方案


这确实是 Xcode 10 中的一个错误。要解决此问题,请将堆栈视图嵌入到另一个视图中,该视图具有与之前的堆栈视图相同的约束:

视图结构


推荐阅读