如何在 Xcode 7 中对齐死点的四个按钮?

How to Align four buttons at dead center in Xcode 7?

对于不同尺寸的屏幕,如何将这四个按钮对齐(水平和垂直)居中。当我在不同大小的模拟器中 运行 项目时,我看到按钮的大小和位置不同。有没有办法让所有设备的四个按钮都位于中心(且大小相同)?

我对约束没有任何经验,我已经有一段时间没有使用Xcode了。我阅读了几个小时关于约束的教程,但我仍然不明白如何使用它。

Screenshot

谢谢你,节日快乐:)

完成此操作的最简单方法是使用 UIStackView。使用起来非常简单,它会自动管理按钮的布局。

删除按钮的现有约束,然后 select 所有四个并选择 编辑器 -> 嵌入 -> 堆栈视图

添加两个约束以使您的堆栈视图在视图中居中,您就完成了!

是的,您可以使用 Stack View,但只有 ios 9 才支持它,因此如果您试图在 ios 9 以下设置约束,请按照以下步骤操作 -

  1. 添加一个 UIView 作为按钮的容器,并向其添加以下约束。 (我们不会给这个视图提供固定的高度限制,让它本质上确定它的高度,即我们将使用按钮来确定容器的大小,因为按钮有其固有的大小。)

    一个。将中心 X 与超级视图对齐

    b。将 Y 中心与 superView 对齐

    c。尾随和前导 space

  2. 现在添加第一个按钮并添加以下约束 -

    一个。居中水平居中。

    b。 Top space 来自 superview(作为按钮并具有其固有大小,因此我们不需要提供高度和宽度,它将根据其内容计算)

  3. 现在为其余三个按钮添加以下约束 -

    一个。用第一个按钮水平居中

    b。将顶部和底部 space 添加到所有按钮及其各自的顶部和按钮视图(按钮)。对于最后一个按钮,即第 4 个添加容器视图的底部 space 约束。

注意 - 现在顶部按钮具有容器视图的顶部 space 约束,最后一个按钮具有容器视图的底部 space 约束,并且所有其余按钮通过顶部和底部 space,这将决定容器视图的高度,并且您的按钮将始终出现在所有尺寸的屏幕中央。

下面是 link 的屏幕截图,上面解释了所有必需的限制条件。

Screenshot with required constraints