【问题标题】:Equally space 12 UIButtons using auto layout in iOS在 iOS 中使用自动布局等空间 12 个 UIButton
【发布时间】:2016-10-16 14:03:36
【问题描述】:

如何使用自动布局等分这 12 个按钮以适应所有 iPhone 屏幕?

所有按钮的大小应相同,并应完全填满屏幕

【问题讨论】:

    标签: ios iphone autolayout storyboard


    【解决方案1】:
    • 在两个轴上将按钮之间的间距设置为 0
    • 将顶部按钮行顶部约束绑定到视图顶部
    • 将底部按钮行底部约束绑定到视图底部
    • 将最左边的列按钮前导约束绑定到视图前导
    • 将最右侧的列按钮尾随约束绑定到视图尾随
    • 将所有按钮设置为等宽和等高,我认为最简单的方法是选择一个按钮,然后在所有其他按钮上创建等宽和等高的约束。

    此外,此设置的好处在于,如果您更改行数或列数,您仍然会得到相同大小的按钮,因此它是可维护的。

    【讨论】:

    • 非常感谢。:)
    【解决方案2】:

    将它们之间的间距添加为 0(前导、尾随、顶部、底部)。然后将每个按钮设置为与父视图具有相同的宽度和高度,高度乘数为 0.25,宽度乘数为 0.33。

    【讨论】:

    • 可以请详细说明。 !
    • 不适用于所有设备,因为例如,iPhone4 的宽/高比与 iPhone5 等不同,因此某些设备的乘数是错误的。
    • 乘数很好(三行 - 宽度的 1/3 和 4 行 - 高度的 1/4)
    • 没错,我的错,但是我认为在每个按钮上设置相等的宽度/高度并让自动布局为您解决它比为每个约束设置这些乘数更容易。此外,通过设置相等的高度和宽度,您可以更改行数或列数,您仍将拥有相同大小的按钮。