2016-04-20 2 views
0

Есть ли способ остановить (и запустить) прокрутку mid-touch UIScrollView, не отказываясь от незавершенного события касания? То есть, по-прежнему запускать scrollViewDidScroll, но не анимировать прокрутку вместе с пальцем пользователя.Как заморозить прокрутку UIScrollView без потери события касания

Установка scrollEnabled на false заставляет прикоснуться к утере.

This question по существу то, что я пытаюсь сделать, но ответ не работает (кажется).

+0

Другой вариант - поместить невидимое прокручивание над вашим реальным видом прокрутки. В невидимом scrollview 'scrollViewDidScroll:', если вы хотите, чтобы реальный прокручивался, просто выполните 'realScrollView.contentOffset = fakeScrollView.contentOffset;' –

ответ

0

Да, вам нужно будет использовать UIGestureRecognizer на вашем представлении. Если вы хотите перехватить прокрутку, вы установите для параметра cancelsTouchesInView значение YES, иначе установите значение НЕТ. Это может быть полезно для вас: https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIGestureRecognizer_Class/#//apple_ref/occ/instp/UIGestureRecognizer/cancelsTouchesInView. В частности, вы захотите использовать SwipeGestureRecognizer: https://developer.apple.com/library/ios/documentation/UIKit/Reference/UISwipeGestureRecognizer_Class/index.html#//apple_ref/occ/cl/UISwipeGestureRecognizer

Смежные вопросы