Поскольку collectionView
- это, в основном, scrollView
, используйте метод scrollViewDidScroll(_:)
, чтобы определить направление прокрутки collectionView
.
private var lastContentOffset: CGFloat = 0.0
В приведенном выше коде lastContentOffset
отслеживает предыдущие contentOffset
из collectionView
во время прокрутки.
func scrollViewDidScroll(_ scrollView: UIScrollView) {
if (scrollView.contentOffset.y < self.lastContentOffset) {
//Scrolling up
}
else if (scrollView.contentOffset.y > self.lastContentOffset) {
//Scrolling down
}
self.lastContentOffset = scrollView.contentOffset.y
}
Не забудьте выполнить UICollectionViewDelegate
протокол.
Также нет необходимости добавлять какие-либо отдельные gestureRecognizer
.UICollectionView
будучи UIScrollView
справится с этим самостоятельно.