Сенсорные события не работают на UIViews внутри UIScrollView
У меня есть серия UIViews внутри UIScrollView, и UIViewControllers для этих представлений не получают сенсорные события. Если я возьму виды из вида прокрутки, то это сработает.
Я включил userInteraction на представления, но он все еще не работает!
Это должно быть возможно, и я был бы очень признателен, если бы кто-то указал мне правильное направление!
Спасибо,
Майк
5 ответов
Я преодолел эту проблему, переопределив метод loadView контроллера представления и установив переменную экземпляра представления в простой подкласс UIView, который передает касания.
У видов есть свои собственные сенсорные обработчики, или вы полагаетесь на контроллер вида, чтобы получить прикосновения? В зависимости от того, как вы это настроили, виды могут обрабатывать прикосновения, не проходя через контроллер вида.
Есть сенсорные обработчики для просмотра, для которых вы хотите получать сенсорные события, и это будет работать.
Вы можете найти этот пост полезным. Это пример довольно чистого способа перехвата событий.
Проверьте, что вы возвращаете в представлении метода делегата scrollview для scrollin в представлении прокрутки.
Как упоминал Махбудз - проверьте, есть ли у вас какой-либо пользовательский обработчик для сенсорного события. Если нет, пожалуйста, сделайте это. Это гораздо больше облегчения, чтобы делать все, что вы хотите сделать со своим взглядом. Проверьте пример приложения Apple от scrollViewSuite. У них есть делегат tapDetectingImageView. Я использовал то же самое в моем приложении, он работал отлично! Надеюсь это поможет!