IOS 5: UIScrollView не передает касания nextResponder - PullRequest
3 голосов
/ 13 декабря 2011

У меня есть подкласс UIScrollView, и я переопределяю все 4 функции касания для него.В этих функциях касаний [[self nextResponder] Touches...] и [super Touches...] используются для передачи событий касаний.

Также у меня есть контроллер представления, в котором я также переопределяю все 4 функции касаний.В Контроллере я установил self.view как: self.view = subclass of UIScrollview;

До того, как iOS 5, когда есть прикосновения, перемещаются по просмотру прокрутки, сенсорные функции контроллера вида могут получать все прикосновения - начало / перемещение / конец / отменазвонки.Но в iOS 5 они не могут, только один touchesBegan и один touchesMove принимаются.

Из журнала кода функции касания в подклассе UIScrollView всегда вызываются.

Также, если я установлю subclass.enableUserInteraction=NO, функция касаний в контроллере вида будет вызываться хорошо.Но мне нужно, чтобы представление прокрутки взаимодействовало с пользователем, поэтому я не могу установить для него значение no.

Есть ли что-то другое, что я пропустил в iOS 5?Заранее спасибо.

Ответы [ 2 ]

5 голосов
/ 11 сентября 2012

Существует очень простая работа:)

Вместо:

[self.nextResponder touchesMoved:touches withEvent:event];

Использование:

[[self.nextResponder nextResponder] touchesMoved:touches withEvent:event];

Работает также для касаний Начать и прикосновения Закруглить.

Вот и все!Проблема ушла!Теперь события касаний передаются следующему респонденту:)

1 голос
/ 31 декабря 2011

Похоже на ошибку iOS 5.См. Этот пост:

прикосновения Не работает в iOS5 для iPhone для UIScrollView

"Как уже упоминалось, до того, как я зарегистрировал дефект в Apple, они, наконец, вернулись ко мнеИ я цитирую: «После дальнейшего расследования было установлено, что это известная проблема, которая в настоящее время исследуется с помощью техники».Они дают оригинальный идентификатор ошибки # 10213937.Они благодарят за сообщение об ошибке, но не предлагают никаких обходных путей. '"

К сожалению, до сих пор не уверены, как решить проблему с iOS 5.

...