【发布时间】:2016-03-31 17:09:50
【问题描述】:
如何将这四个按钮对齐到中心(水平和垂直)以适应屏幕的不同尺寸。当我在不同大小的模拟器中运行项目时,我看到按钮的大小和位置不同。有没有办法让所有设备的四个按钮都位于中心(并且大小相同)?
我对约束没有任何经验,我已经有一段时间没有使用 Xcode 了。我读了几个小时关于约束的教程,但我仍然不明白如何使用它。
谢谢你,节日快乐:)
【问题讨论】:
标签: ios iphone xcode swift ios7
如何将这四个按钮对齐到中心(水平和垂直)以适应屏幕的不同尺寸。当我在不同大小的模拟器中运行项目时,我看到按钮的大小和位置不同。有没有办法让所有设备的四个按钮都位于中心(并且大小相同)?
我对约束没有任何经验,我已经有一段时间没有使用 Xcode 了。我读了几个小时关于约束的教程,但我仍然不明白如何使用它。
谢谢你,节日快乐:)
【问题讨论】:
标签: ios iphone xcode swift ios7
完成此操作的最简单方法是使用UIStackView。使用非常简单,它会自动管理按钮的布局。
删除按钮的现有约束,然后选择所有四个并选择Editor -> Embed in -> Stack View。
添加两个约束以使您的堆栈视图在视图中居中,您就完成了!
【讨论】:
是的,你可以使用 Stack View,但它只支持 ios 9,所以如果你想限制低于 ios 9,请按照以下步骤操作 -
添加一个 UIView 作为按钮的容器,并为其添加以下约束。 (我们不会给这个视图提供固定的高度约束,让它固有地确定它的高度,即我们将使用按钮来确定容器的大小,因为按钮具有它们的固有大小。)
一个。将 Center X 与 superview 对齐
b.将 Y 中心对齐到 superView
c。尾随和前导空格
现在添加第一个按钮并添加以下约束 -
一个。水平居中居中。
b.超级视图的顶部空间(作为按钮并具有其固有大小,因此我们不需要给出高度和宽度,它将根据其内容计算)
现在为其余三个按钮添加以下约束 -
一个。使用第一个按钮水平居中
b.将顶部和底部空间添加到具有各自顶部和按钮视图(按钮)的所有按钮。对于最后一个按钮,即第 4 个使用容器视图添加底部空间约束。
注意 - 现在顶部按钮具有容器视图的顶部空间约束,最后一个按钮具有容器视图的底部空间约束,并且所有剩余按钮通过顶部和底部空间相互连接,这将确定容器视图的高度和您的按钮将始终出现在所有尺寸的屏幕中心。
下面是截图链接,上面解释了所有必需的约束。
【讨论】: