我正在尝试将项目放在具有动态大小的项目的集合视图上。我希望将这些项居中,在某些情况下可以是每行一个,在某些情况下可以是两个。我找到了一种基于设置节的插入来居中项目的解决方案,但这要求所有项目的大小都相同:
func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAtIndex section: Int) -> UIEdgeInsets {
let totalCellWidth = CellWidth * CellCount
let totalSpacingWidth = CellSpacing * (CellCount - 1)
let leftInset = (collectionViewWidth - CGFloat(totalCellWidth + totalSpacingWidth)) / 2
let rightInset = leftInset
return UIEdgeInsetsMake(0, leftInset, 0, rightInset)
}这是我的收藏视图的图像,带有“对齐”项,它们之间有动态间距:

我的目标是更改每行的插入,使项目居中,并且它们之间的间距始终相同。
你知道我该怎么做吗?
发布于 2018-07-20 02:22:41
正如注释中所解释的,您必须为您的collectionView使用自定义布局。首先,您可以参考以下链接。
附言:由于在stackoverflow上不推荐只分享链接,所以我将尽快更新答案,并概述使用自定义布局所需的基本步骤。
https://stackoverflow.com/questions/51428367
复制相似问题