Трогательно в UIScrollview? - PullRequest
3 голосов
/ 31 марта 2010

Я использую ScrollviewDelegate протокол в viewcontroller, но я использую Custom UIView(UIImageview) в этом пользовательском представлении.

По какой-то причине touchMoved не вызывается. У кого-нибудь есть идеи, почему это (не) происходит?

1 Ответ

7 голосов
/ 31 марта 2010

Если прокрутка в UIScrollView включена, то события touchMoved не передаются в содержимое представления прокрутки. Как обойти это зависит от того, чего вы хотите достичь. В моем приложении мне нужно было просто перетащить объект внутрь UIScrollView, и я сделал следующее в сенсорных обработчиках contentsView для этого:

  1. В touchesBegan: событие, которое я проверял, коснулся ли объекта, который нужно перетаскивать. Если ДА - тогда отключена прокрутка в UIScrollView
  2. Затем, когда прокрутка была отключена, мое представление содержимого начало получать событие touchesMoved, и я мог "перетащить" туда свой объект.
  3. В touchesEnded: Я снова включил прокрутку.

Если вы хотите что-то более сложное, вы можете создать подкласс UIScrollView и попытаться переопределить его сенсорные обработчики (см. Также hitTest:withEvent: метод)

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