我试图让集合视图的单元格在它们自身和侧面之间显示相等的间距,很难弄清楚如何使用AutoLayout执行此操作,因此我编写了一段代码来检测屏幕宽度和选择一个特定的可重复使用的单元,来自3个200,150和100像素的设计(可能考虑添加/删除更多的东西,如图标,文本,根据它们的宽度,所以我有点想要这种奇怪的方法)
可重复使用的细胞是:
这实际上在大多数设备上运行得相当不错,至少在模拟器上,例如这里的5s视图
但是在iPhone 6上发生了什么:
当然,我想让它们在所有设备上均匀分布。
我尝试使用layout.minimumInteritemSpacing但它似乎没有任何效果。
如果有人能指出我正确的方向,我将不胜感激。我知道有大量的AutoLayout指南和问题,但几天前我刚开始玩Swift,虽然有很多答案,但似乎没有一个适用于这种情况。
TIA
答案 0 :(得分:0)
好的,这就是我如何让这个工作:
1)我计算了适合屏幕的细胞数量
2)计算可用空间
var available_ spacing = screenWidth % cell_width
2)计算了包含项目内边距和集合“填充”的空格数,它基本上是num_cells -1 + 2(边框)
3)划分可用空间并将得到的图形添加到sectionInset定义中的左右边框,但也使用minimumInteritemspacing
添加到单元格之间细胞现在布局很好,间距和边界均匀。希望这有助于其他人...因为我已经玩了几个小时才决定在这里发帖。
< 3!