Как это узнать, когда пользователь проведет пальцем вверх / вниз? - PullRequest
0 голосов
/ 28 июня 2019

У меня UICollectionView в моем ViewController (пожалуйста, проверьте прикрепленное изображение ниже для просмотра иерархии).Как мы можем определить, когда пользователь проводит пальцем вверх или вниз?

Не имеет значения, добавим ли мы распознаватель жестов к UIView или UICollectionView.Я просто хочу знать жест смахивания.

View Hierarchy

Я пытался добавить распознаватель жестов в UIView и UICollectionView, используя коды в стекепереполнение.Но никто из них не удовлетворил мое требование.

Заранее спасибо.

1 Ответ

1 голос
/ 28 июня 2019

Поскольку 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 справится с этим самостоятельно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...