如何从minimumLineSpacingForSectionAt获取IndexPath以在集合视图中的项目之间设置不同的间距?

时间:2017-12-29 11:08:50

标签: ios swift

通常我只使用这个功能:

optional func collectionView(_ collectionView: UICollectionView, 
                      layout collectionViewLayout: UICollectionViewLayout, 
minimumLineSpacingForSectionAt section: Int) -> CGFloat

在collectionView中的项目之间设置一些间距,但所有项目的间距都相同。我想在一些项目之间设置不同的间距,这取决于我需要检查的一些逻辑,逻辑将取决于之前和之后的哪个单元格,所以我需要像IndexPath那样检查它。

当我们想要设置单元格的大小时,我们可以方便地从下面的函数中获取IndexPath,但不能从上面的函数中获取。

optional func collectionView(_ collectionView: UICollectionView, 
                      layout collectionViewLayout: UICollectionViewLayout, 
               sizeForItemAt indexPath: IndexPath) -> CGSize

我能做些什么来实现这个目标?

1 个答案:

答案 0 :(得分:0)

如果不创建自己的布局,没有好办法。在这里进入它有太多的东西,但有很多关于这个问题的好教程。 Here's a good place to start.