相同间距的按钮
Buttons with same spacing
我想要图片中显示的六个按钮之间的相同 space,我在使用 autolyout 时遇到了问题,你知道我怎样才能让它们的间距相同吗?它们都具有相同的尺寸、宽度和高度:36
它们在 UIView 中,而 UIView 在 UITableViewController 中,就像您在图片中看到的那样
如果可以,请使用堆栈视图。
否则将视图放在每个按钮之间并将它们设置为彼此等宽。
- 如果您使用的是 iOS 9+,使用情节提要是针对此类情况的最佳解决方案
- 如果您使用以下 iOS 9 则使用以下解决方案,检查 link enter link description here
因为对象之间设置相等 space 没有其他解决方案,所以您需要为此创建 spaceView。跟着link走,你就会得到你想要的。我亲自尝试过那个东西,它对我有用。所以试试吧。
如果您有任何疑问,请告诉我,我会解释。
希望对您有所帮助!
有两种方法,
1. 在按钮之间插入视图,应与父视图成比例并保持视图宽度相同。
2. 将每个按钮中心的约束添加到超级视图中心,并将乘数设置为与中心的距离相同。
由于所有图标的大小都相同,您可以通过对所有设备分辨率通用的代码进行管理。一个小的计算会有所帮助。
在这种情况下,
let x = screenwidth (or UIView)
y = width of the icon (36 here)
a = space between superview and first icon (Leading Space)
b = space between last icon and super view (Trailing space)
首先对所有图标添加宽高约束,使宽度恒定。
现在添加从第二个按钮到第一个按钮 (d)、第三个按钮到第二个按钮(d)、第四个按钮到第三个按钮(d) 等等直到第六个按钮到第五个按钮(d) 的水平间距约束并通过创建 nslayoutconstraint 变量以编程方式给这些 constraints.constants 以下值。
由于间距应该相同,所有这些间距约束都将等于计算值,比如 d。
d + d + d + d + d = (x - 6y - a - b)
5d = (x - 6y - a - b)
d = (x - 6y - a - b)/5
使用 UICollectionView,并正确保持单元格间距...设置水平滚动 only.It 看起来很完美,但它会消耗额外的内存..
我想要图片中显示的六个按钮之间的相同 space,我在使用 autolyout 时遇到了问题,你知道我怎样才能让它们的间距相同吗?它们都具有相同的尺寸、宽度和高度:36
它们在 UIView 中,而 UIView 在 UITableViewController 中,就像您在图片中看到的那样
如果可以,请使用堆栈视图。
否则将视图放在每个按钮之间并将它们设置为彼此等宽。
- 如果您使用的是 iOS 9+,使用情节提要是针对此类情况的最佳解决方案
- 如果您使用以下 iOS 9 则使用以下解决方案,检查 link enter link description here
因为对象之间设置相等 space 没有其他解决方案,所以您需要为此创建 spaceView。跟着link走,你就会得到你想要的。我亲自尝试过那个东西,它对我有用。所以试试吧。
如果您有任何疑问,请告诉我,我会解释。
希望对您有所帮助!
有两种方法, 1. 在按钮之间插入视图,应与父视图成比例并保持视图宽度相同。 2. 将每个按钮中心的约束添加到超级视图中心,并将乘数设置为与中心的距离相同。
由于所有图标的大小都相同,您可以通过对所有设备分辨率通用的代码进行管理。一个小的计算会有所帮助。
在这种情况下,
let x = screenwidth (or UIView)
y = width of the icon (36 here)
a = space between superview and first icon (Leading Space)
b = space between last icon and super view (Trailing space)
首先对所有图标添加宽高约束,使宽度恒定。
现在添加从第二个按钮到第一个按钮 (d)、第三个按钮到第二个按钮(d)、第四个按钮到第三个按钮(d) 等等直到第六个按钮到第五个按钮(d) 的水平间距约束并通过创建 nslayoutconstraint 变量以编程方式给这些 constraints.constants 以下值。
由于间距应该相同,所有这些间距约束都将等于计算值,比如 d。
d + d + d + d + d = (x - 6y - a - b)
5d = (x - 6y - a - b)
d = (x - 6y - a - b)/5
使用 UICollectionView,并正确保持单元格间距...设置水平滚动 only.It 看起来很完美,但它会消耗额外的内存..