Можно ли отключить жест смахивания и заставить работать только панорамирование в виде прокрутки? - PullRequest
0 голосов
/ 13 мая 2019

Я использую UIScrollView, чтобы показать некоторые изображения.Я нахожу как жест смахивания, так и панорамирование.Можно ли заставить работать только жесты панорамирования?

Я пробовал этот код:

for gestureRecognizer in scrollView.gestureRecognizers ?? [] {
    if gestureRecognizer is UISwipeGestureRecognizer) {
        gestureRecognizer.isEnabled = false
    }
}

Не работает.Я печатаю scrollView.gestureRecognizers!, получаю список жестов:

UIScrollViewDelayedTouchesBeganGestureRecognizer

UIScrollViewPanGestureRecognizer

_UIDragAutoScrollGesture * Rececizer

* * * * * * 10 * 10 * * * * * 10 * * * * * * 10 * 10 * * * * * * 10 * * * * * * 10 * * * * 10 * * * * * * 10* Я пытался
UIScrollViewPagingSwipeGestureRecognizer:
if gestureRecognizer is UIScrollViewPagingSwipeGestureRecognizer) {
    gestureRecognizer.isEnabled = false
}

Там написано Use of undeclared type 'UIScrollViewPagingSwipeGestureRecognizer'.

1 Ответ

0 голосов
/ 13 мая 2019

Если я вас правильно понимаю ... возможно, вы могли бы использовать следующий UIScrollViewDelegate метод:

func scrollViewWillEndDragging(_ scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) {
    targetContentOffset.pointee = scrollView.contentOffset
}
...