我希望两个button具有相同的宽度,并使用自动布局按比例放置在屏幕顶部的所有屏幕尺寸中。

附加我打算devise的视图。 我想定位的button相对于超视图和他们的宽度和高度必须成比例增加屏幕尺寸,而不是保持不变。

附加屏幕预览:

在这里输入图像说明

这只是一行button的一个例子,所以它们可以被其他UI元素重用。

把这些约束放到你的button上:

左键:

  • 左领先约束
  • 顶尖的领先约束
  • 身高限制

正确的button

  • 右拖尾限制
  • 顶尖的领先约束
  • 身高限制

和这两个button相关的约束:(您需要select两个button才能应用关系约束)

  • button之间的间距约束
  • 这些button的宽度相等

Interface Builder中,它看起来像这样:

在这里输入图像说明

而且这些布局是通用的 ,所以我select了一些设备尺寸来呈现:

iphone 5 在这里输入图像说明

iPhone 6 在这里输入图像说明

iPhone 6 Plus 在这里输入图像说明

…等

对于左button:

  1. 从视图顶部的顶部约束
  2. 视图左边缘的左边限制
  3. 身高限制
  4. 右键约束 – >这将是0

对于右键:

  1. 从视图顶部的顶部约束
  2. 正确的约束从视图的右边缘
  3. 身高限制
  4. 左边约束右边的button – >这将是0

您可以尝试使用Xcode7支持的StackViewfunction,请参阅本教程。 StackView示例

我的答案有点不同。 除非特别要求,否则我宁愿不使用尺寸等级。 现在为您的要求,我将禁用大小类,我会像下面添加约束。

我将在名为SpacerView的button正上方添加一个清晰的颜色alpha 0 UIView

SpacerView –

1)通向superView – 0 – 用于alignmentSpacerView

2)追踪到超视图 – 0 – 用于alignmentSpacerView

3)顶部到超级视图 – 0 – 用于alignmentSpacerView

4)SuperView的比例高度 – 用于dynamic调整SpacerView的高度

button1 –

1)通向超级视图 – 0 – buttonalignment1

2)追踪到button2 – 0 – 用于button1和button2的alignment

3)超级视图的比例高度 – 40:568 – 用于dynamic调整button1的高度

4)等于button2的宽度 – 0 – button2的宽度的大小等于button1

5)等于button2 – 0 – button2高度的大小与button1相等

6)顶部到SpacerView – 0 – 用于button1的alignment

7)中心Y到button2 – 0 – button2的alignment方式与button1相同

button2 –

1)追踪到超视图 – 用于button2的alignment

这里甚至没有一个约束是额外的根据您的要求。 如果你仍然有问题,我可以给你一个testing库,我会让你理解。

步骤1.并排两个button。 2.左键导致限制,顶级超级查看。 3.select左侧button的高度。 3.按住Control键从左到右拖动光标到右键,select水平间隔(select两个button之间的空格)4.给右侧button顶部约束,尾随到超视图。 5.select右键的高度。 6.现在按下命令,select两个button,并看到下面右侧的引脚选项,select相等的宽度。 如果有一些警告显示的手段,没有问题,只需点击删除该警告。

我find了解决scheme。 以下是我提供的约束

左键:

左前导约束2.前导约束

正确的button

1.右拖尾约束2.顶端约束

两者都是通用的

1.等高限制2.等宽限制

按比例增加高度取决于超视图我添加了长宽比约束从两个button到超视图button高度0.6的超视图高度。