无法使用自动布局连续对齐 5 个项目

Can't align 5 items in a row using autolayout

我正在努力使用故事板中所示的自动布局将 5 个项目排成一行。

我可以对齐下面突出显示的 3 个项目,但中间的 2 个项目不想对齐。

我尝试将项目固定到每个项目旁边的按钮并设置大小,但它们无法正确对齐。还尝试将 2 个错位的按钮设置为前导容器和试验容器,如下所示,但它们仍然没有正确对齐(甚至没有紧密对齐)。

我是不是做错了什么?

您最好的选择可能是创建另一个超级视图 (UIView),您的按钮项目位于其中。然后,您可以在仅封装这些按钮的超级视图中更流畅地对齐您的按钮,而不是仅仅与卡片超级视图中的约束搏斗,这似乎是您正在做的。只需清除该 UIView 的背景,将按钮放在其上,它就会看起来完全一样,您将有更好的方式来锚定您的视图。当您只针对这些按钮的功能时,这也可以派上用场,这样您就可以从按钮栏超级视图的子视图中获取它们。

执行此操作的方法是使用间隔视图。您需要在每个视图之间添加一个 UIView ,并为它们的任一侧的视图提供每个水平间距约束。您需要编辑这些约束,使它们位于间隔器的前缘或后缘与视图的 centerX 之间(常量值应为 0)。为间隔物提供相等的宽度(但没有固定宽度)、固定高度和清晰的背景颜色。您在左侧和右侧的视图应该对其最近的边缘有约束,但中心视图不应该有 centerX 约束(不需要)。这将导致视图在所有屏幕尺寸和两个方向上的间距相等。