在视图中对齐按钮

时间:2015-05-24 10:13:24

标签: xcode autolayout

我连续有4个按钮,我如何在每个设备的中间对齐? iphone 4s,iphone 5s,iphone 6,iphone 6 plus。

仅在iphone 6上看起来不错。在iphone 4s上,视图外部以及5s和6 plus上的按钮是不居中的。

在左侧视图中,您可以看到布局,右侧视图可以看到预览。 enter image description here 我该如何解决这个问题?我尝试过自动布局,但这不起作用..

这里使用每个按钮上的约束对齐(水平)。但他们并不在中间......

enter image description here

谢谢。

2 个答案:

答案 0 :(得分:2)

要对齐画布中心的多个按钮,可以在每一侧放置两个“虚拟”或“辅助”视图。然后应用以下约束:

  • equal width用于两个虚拟视图。
  • 左侧虚拟视图
  • leading space to superview = 0
  • trailing space to superview = 0用于正确的虚拟视图。
  • horizontal spacing = 0用于虚拟视图和按钮。
  • 按钮
  • horizontal spacing = some fixed value

您可以将虚拟视图的高度设置为0

以下是故事板中的示例。为简单起见,我只包括两个按钮。使用此方法可以拥有任意数量的按钮。

enter image description here

答案 1 :(得分:1)

我可能在这里遗漏了一些东西。但是你需要的只是让多个按钮在容器中垂直居中并且水平放置(没有重叠和良好的对称性)。如果是这样,您可以执行以下操作。

约束是 -

  1. 按钮A - 在容器中垂直居中

  2. 按钮B:中心Y =按钮A:中心Y;按钮C:中心Y =按钮B:中心Y

  3. 按钮A:超级视图的前导空间=某个常量(比如30)

  4. 按钮C:超级视图的尾随空格=与上面相同的常量

  5. 水平间距(按钮A - 按钮B)=水平间距(按钮B - 按钮C)=某个常数(比如10)

  6. 宽度(按钮A)=宽度(按钮B)=宽度(按钮C)

  7. enter image description here