为什么collectionView中的间距不相等?

时间:2017-10-02 23:49:51

标签: ios swift cell spacing collectionview

collectionView显示单元格没有任何问题,除了间距,一些间距不等于其他,它们比其他间隔稍大。即使我设置了margin = 0,也会出现一些间距。

以下是代码:

let margin = 1
let cellSize = (size.width-margin*(cellsPerRow+1)) / cellsPerRow
let layout: UICollectionViewFlowLayout = UICollectionViewFlowLayout()
layout.sectionInset = UIEdgeInsets(top: margin, left: margin, bottom: margin, right: margin)
layout.itemSize = CGSize(width: cellSize, height: cellSize)
layout.minimumInteritemSpacing = margin
layout.minimumLineSpacing = margin

enter image description here

感谢。

1 个答案:

答案 0 :(得分:1)

您需要根据适合您整个区域的最大(整数)宽度/高度来定义单元格大小,然后选择"剩余的" (= area_width_or_height - (cell_size * cell_amount))并将其除以2,得到你需要留下左/右/上/下的边距大小,使网格均匀。现在,根据您是否舍入到更低或更高的数字,您的单元格会略微随机。