вернуться к предыдущей ячейке коллекции - PullRequest
0 голосов
/ 17 октября 2018

Я использую код ниже для прокрутки к следующей ячейке, которая отлично работает, но как мне вернуться к предыдущей ячейке?

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

1 Ответ

0 голосов
/ 17 октября 2018

Прежде всего, метод 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)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...