iOS 自动布局:两个等宽的按钮并排放置

iOS Autolayout: two buttons of equal width, side by side

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

从下面的预览图像中,我的 titleImage 已被正确约束并正确显示,但按钮不是。我尝试将按钮 1 与 titleImage 的前缘对齐,将按钮 2 与 titleImage 的后缘对齐,但是此时两个按钮之间的宽度分布变得倾斜,如下所示。

我的 objective 是为了了解缺少哪些约束,应该将哪些约束应用于两个按钮以保持相等的宽度,而不管设备如何。如果可能的话,我想通过界面生成器而不是额外的代码来实现这一点。

添加以下约束条件

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

您可以查看我的示例 - 您可以通过使用比例约束轻松瞄准这个目标。 您也可以轻松瞄准成比例的多个 UIView。 请看附件示例

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

iOS9 中的堆栈布局,将完成这项工作非常好。 将堆栈视图添加到您的视图并配置如下:

我的解决办法是

  1. 在两个按钮的中间放置一个小视图并使其居中(容器中水平居中,容器中垂直居中为0)。
  2. 为小视图添加高度和宽度。
  3. 为按钮添加约束并为小视图提供水平 space 约束。
  4. 为小视图设置与按钮或视图颜色相同的背景颜色。

注意:见截图。

按照步骤和屏幕截图轻松解决


步骤 1)

  • 对于按钮 1:设置约束: (1)Leading,(2)Top 或 Bottom 根据您的需要,(3)Height


步骤 2)

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

步骤 3)

  • 按住 Ctrl 键并从按钮 1 拖动到按钮 2

  • Select 水平间距


Step-4)

  • Select 按钮(使用命令)和添加约束 等宽


输出

希望对您有所帮助:)