滚动回到上一个collectionview单元格

时间:2018-10-17 07:40:52

标签: swift uiscrollview uicollectionview

我正在使用下面的代码滚动到下一个工作正常的单元格,但是如何滚动回到上一个单元格?

 let cellItems = CollectionView.indexPathsForVisibleItems
            CollectionView.scrollToItem(at: cellItems.max()!, at: .centeredVertically, animated: true)

1 个答案:

答案 0 :(得分:0)

首先,indexPathsForVisibleItems方法不能保证顺序。您需要先对其进行排序:

let sortedIndexes = collectionView.indexPathsForVisibleItems.sorted(<)

如果要滚动到上一个单元格,则需要将上一个单元格IndexPath存储在班级中的某个位置:

var previousCellIndexPath: IndexPath?

然后您可以滚动到该单元格:

func scrollToPreviousCell() {
    guard let previousCellIndexPath = self.previousCellIndexPath else { return }
    collectionView.scrollToItem(at: previousIndexPath, at: centeredVertically, animated: true)
}