我希望两个button具有相同的宽度,并使用自动布局按比例放置在屏幕顶部的所有屏幕尺寸中。
附加我打算devise的视图。 我想定位的button相对于超视图和他们的宽度和高度必须成比例增加屏幕尺寸,而不是保持不变。
附加屏幕预览:
这只是一行button的一个例子,所以它们可以被其他UI元素重用。
把这些约束放到你的button上:
左键:
- 左领先约束
- 顶尖的领先约束
- 身高限制
正确的button
- 右拖尾限制
- 顶尖的领先约束
- 身高限制
和这两个button相关的约束:(您需要select两个button才能应用关系约束)
- button之间的间距约束
- 这些button的宽度相等
在Interface Builder中,它看起来像这样:
而且这些布局是通用的 ,所以我select了一些设备尺寸来呈现:
iphone 5
iPhone 6
iPhone 6 Plus
…等
对于左button:
- 从视图顶部的顶部约束
- 视图左边缘的左边限制
- 身高限制
- 右键约束 – >这将是0
对于右键:
- 从视图顶部的顶部约束
- 正确的约束从视图的右边缘
- 身高限制
- 左边约束右边的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的超视图高度。