iOS Autolayout:两个宽度相等的按钮,并排

时间:2015-01-26 11:00:12

标签: ios iphone xcode autolayout

我目前在使用AutoLayout时遇到了困难。我正在使用界面构建器,并尝试将两个宽度相等的按钮并排放置,如下图所示。

objective layout

从下面的预览图像中,我的titleImage已被正确约束并正确显示,但按钮却没有。我已经通过将按钮1​​与titleImage的前沿对齐来实验,而button2与titleImage的后缘对齐,但是此时两个按钮之间的宽度分布变得偏斜,如下所示。

problem scenario

我的目标是了解缺少哪些约束,并且应该应用于两个按钮以保持相等的宽度,而不管设备如何。如果可能的话,我希望通过界面构建​​器实现此目的,而不是其他代码。

5 个答案:

答案 0 :(得分:234)

添加以下约束

  1. 从button1到button2分配相等的宽度。
  2. 在两个按钮之间指定水平间距。
  3. 将按钮1的前导空格指定给其超级视图。
  4. 将button2的尾随空格分配给其superview。
  5. 为两个按钮分配顶部空间。
    请让我知道这对你有没有用。

答案 1 :(得分:72)

按照步骤和屏幕截图进行简单的解决方案

步骤1)

  • 对于按钮1:设置约束: (1)领先,(2)根据您的需要进行顶部或底部,(3)高度

步骤-2)

  • 对于按钮2:设置约束: (1)尾随,(2)顶部或底部,根据您的需要,(3)高度

步骤3)

  • 按Ctrl +从按钮1拖动到按钮2

  • 选择水平间距

步骤4)

  • 选择两个按钮(使用命令)和添加约束等宽

<强>输出

希望它能帮助你:)

答案 2 :(得分:18)

iOS9中的堆栈布局,可以很好地完成工作。 将堆栈视图添加到视图中并配置如下:

enter image description here

答案 3 :(得分:2)

您可以查看我的示例 - 您可以通过使用比例约束轻松实现此目标。 您也可以轻松瞄准多个UIViews比例。 请看附图

https://dl.dropboxusercontent.com/u/48223929/TestViewController.xib

答案 4 :(得分:0)

我的解决方案是

  1. 在两个按钮的中间放一个小视图,使其居中(水平中心位于容器中,垂直中心位于竞赛中为0)。
  2. 为小视图添加高度和宽度。
  3. 为约束添加按钮,并为小视图提供水平空间约束。
  4. 提供与按钮或视图颜色相同的小视图背景颜色。
  5. 注意:请参阅屏幕截图。

    enter image description here