我希望图片中的六个按钮显示之间有相同的空间,我有自动输出问题,你知道我怎么能用相同的间距放置它们?所有这些都具有相同的尺寸,宽度和高度:36
他们在UIView中,UIView在UITableViewController中,如图所示
答案 0 :(得分:1)
如果可以,请使用堆栈视图。
否则在每个按钮之间放置视图并将它们设置为彼此具有相等的宽度。
答案 1 :(得分:1)
由于所有图标大小相同,您可以通过所有设备分辨率通用的代码进行管理。一个小的计算会有所帮助。
在这种情况下,
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)
首先为所有图标添加宽度和高度约束,以使宽度恒定。
现在将水平间距约束从第2个按钮添加到第1个按钮(d),第3个按钮按钮添加到第2个按钮(d),第4个按钮添加到第3个按钮(d),依此类推,直到第6个按钮到第5个按钮(d)并给出这些constraints.constants通过创建nslayoutconstraint变量以编程方式提供以下值。
由于间距应相同,所有这些间距约束将等于evalue,例如d。
d + d + d + d + d = (x - 6y - a - b)
5d = (x - 6y - a - b)
d = (x - 6y - a - b)/5
答案 2 :(得分:0)
有两种方法, 1.在按钮之间插入视图,该视图应与超视图成比例并保持视图宽度相同。 2.将每个按钮中心的约束添加到超视图中心,并将乘数设置为从中心获得相同的距离。
答案 3 :(得分:0)
使用UICollectionView,并正确维护单元格间距...仅设置水平滚动。它看起来很完美,但它会消耗额外的内存..
答案 4 :(得分:-1)
由于没有其他解决方案可以在对象之间设置相等的空间,因此您需要为此创建spaceView。只需按照该链接即可获得所需内容。我亲自尝试过那件事,它对我有用。试试吧。
如果您有任何疑问,请告诉我,我会解释。
我希望它会对你有所帮助!