间距相同的按钮

时间:2015-12-30 17:33:56

标签: ios ios-autolayout

I want the same space between my six buttons shows in the picture

我希望图片中的六个按钮显示之间有相同的空间,我有自动输出问题,你知道我怎么能用相同的间距放置它们?所有这些都具有相同的尺寸,宽度和高度:36

他们在UIView中,UIView在UITableViewController中,如图所示

5 个答案:

答案 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)

  1. 如果您使用的是iOS 9+,请使用故事板,这是针对这类情况的最佳解决方案
  2. 如果您使用的是iOS 9以下版本,请使用以下解决方案,请查看链接enter link description here
  3. 由于没有其他解决方案可以在对象之间设置相等的空间,因此您需要为此创建spaceView。只需按照该链接即可获得所需内容。我亲自尝试过那件事,它对我有用。试试吧。

    如果您有任何疑问,请告诉我,我会解释。

    我希望它会对你有所帮助!