2015-09-06 121 views
2

我想让一个集合视图的单元格显示出来,它们之间有相等的间距,很难弄清楚如何用AutoLayout来做到这一点,所以我写了一段代码它检测屏幕宽度并从200,150和100像素的3种设计中挑选特定的可重用单元格(可能考虑添加/删除更多像图标,文字等任何东西,取决于它们的宽度,所以我有点想要这个奇怪的东西方法)xcode swift UICollectionView布局 - 单元格大小

code

可重复使用的细胞是:

cells

这实际上适用于大多数设备,至少在模拟器上相当不错,比如这里的一对5S

iphone 5s capture

的看法,但在iPhone 6这里发生了什么:

iphone 6 capture

当然,我想让它们均匀分布在所有设备上。

我试着玩layout.minimumInteritemSpacing,但它似乎没有任何效果。

如果有人能指出我正确的方向,将不胜感激。我知道有很多AutoLayout指南和问题,但是我几天前刚刚开始使用Swift,尽管这里有很多答案,但似乎没有一个适用于这种情况。

TIA

+0

感谢您的支持!我采取了一种相反的方式来回答你的问题。我首先确定了我想要的间距和插图,然后根据这些参数计算出适用于每种设备尺寸的项目尺寸。这消除了对间距计算的需要。 – ClareHuxtable

回答

0

这里确定是我刚刚得到如何工作的:

1)我计算单元的安装屏幕

2)计算的可用空间数量

var available_ spacing = screenWidth % cell_width 

2)计算包括内部边距和集合“填充”的空间数量,基本上是num_cells -1 + 2(边框)

3)划分的可用空间,并加入所得到的数字在sectionInset定义左侧和右侧边界,而且还使用minimumInteritemspacing

细胞之间的细胞现在布置好的甚至间距和边界。希望这可以帮助其他人......因为我之前一直在玩这个游戏几个小​​时才决定在这里发布。

< 3!

相关问题