Я пытался, чтобы мой UIScrollView
прокручивался только в одном направлении, и все равно получать все UITouch
события. Я не совсем уверен, что это возможно.
Я пытался переопределить события касаний UIResponder
, но как только UIScrollView
начинает прокручиваться, методы касаний перестают вызываться.
Затем я попытался установить для свойства UIScrollView
scrollEnabled
значение false, пока я не хочу, чтобы UIScrollView
начал получать события перетаскивания, но я не могу найти способ, чтобы UIScrollView
начал получать события касания во время перетаскивания. Возможно ли это?
Моя следующая попытка заключалась в добавлении «отступов» в представление прокрутки и создании моих собственных «событий касания», играя со свойством contentOffset
, но это начало вызывать scrollViewDidScroll:
чрезмерное количество раз и обрабатывать как сумасшедшие - также некоторые проблемы с действительностью ответы.
Я безуспешно играл с hitTest:withEvent:
, pointInside:withEvent:
, touchesShouldBegin:withEvent:inContentView:
и touchesShouldCancelInContentView:
.
С тех пор я пробовал еще несколько вещей, но ни один из них не помог. Кроме того, из того, что я нашел, установка delaysContentTouches
на false уничтожает отклик прокрутки.
Я хотел бы иметь несколько настоящих переопределенных методов касаний. Методы, которые, если я не назову super, UIScrollView
не получит прикосновений.
Мне нужен способ получения UITouch
es (перетаскивание, начало, отпускание и отмена, а не только нажатие), не влияя на прокрутку UIScrollView
, поскольку события UIResponder
"касания" исчезают, как только начинается прокрутка. Возможно ли это?