Если прокрутка в UIScrollView включена, то события touchMoved
не передаются в содержимое представления прокрутки. Как обойти это зависит от того, чего вы хотите достичь. В моем приложении мне нужно было просто перетащить объект внутрь UIScrollView
, и я сделал следующее в сенсорных обработчиках contentsView для этого:
- В touchesBegan: событие, которое я проверял, коснулся ли объекта, который нужно перетаскивать. Если ДА - тогда отключена прокрутка в UIScrollView
- Затем, когда прокрутка была отключена, мое представление содержимого начало получать событие
touchesMoved
, и я мог "перетащить" туда свой объект.
- В
touchesEnded:
Я снова включил прокрутку.
Если вы хотите что-то более сложное, вы можете создать подкласс UIScrollView и попытаться переопределить его сенсорные обработчики (см. Также hitTest:withEvent:
метод)