Xcode 7 - 约束 - 按钮之间的相等间距
Posted
技术标签:
【中文标题】Xcode 7 - 约束 - 按钮之间的相等间距【英文标题】:Xcode 7 - Constraints - equal spacing between buttons 【发布时间】:2016-08-04 23:01:58 【问题描述】:我正在尝试让 11 个按钮之间的水平间距相等,我已经尝试过使用 IB,但我无法让按钮在不同的屏幕尺寸中等间距。我还想增加按钮的大小,并在更大的屏幕上保持每个按钮的比例。
3.5 英寸
5.5 英寸
我一直在尝试所有不同的约束设置,但我无法正确设置。这有可能实现吗?如果可以,如何实现?
【问题讨论】:
How to add Equal Spacing and equal width for button in ios Auto layout的可能重复 【参考方案1】:要等间距布局 11 个按钮,请在它们之间放置 10 个间隔视图:
设置以下约束:
-
在最左边的按钮和左边距之间设置Leading Space to Container View Margin约束。
在最右边的按钮和右边距之间设置Trailing Space to Container View Margin约束。
将所有按钮和间隔视图固定到它们的左右邻居。 常数应该是0。
设置所有间隔视图的高度(类似于
64
)。
在最左边的按钮和顶层视图之间设置等宽约束。将乘数更改为1:18
。这将允许按钮大小在更大的屏幕上增大。
选择所有 11 个按钮(按住 shift 并单击 11 个按钮。选择 Equal Widths 和 Aspect Ratio。使 宽高比 常量 1
用于方形按钮。
选择所有 10 个间隔视图并设置等宽。
在最左边的按钮和上边距之间设置垂直间距到顶部布局指南约束。
选择所有 11 个按钮和 10 个间隔视图,然后选择对齐垂直中心。
选择所有 10 个间隔视图并在 Attributes Inspector 中设置它们的 hidden 属性。
在 iPhone 4S(3.5 英寸)上:
在 iPhone 6S Plus(5.5 英寸)上:
【讨论】:
非常感谢,非常好的方法。【参考方案2】:使用水平的UIStackView
并将其设置为“平均填充”
【讨论】:
谢谢,但我也在寻找适用于 8.0 的解决方案 同样使用stack view最小宽高为30px; @SNos 查看FDStackView
。以上是关于Xcode 7 - 约束 - 按钮之间的相等间距的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 AutoLayout Constraints 在 ios xcode 6.3 中的多个标签之间创建相等的间距