Как остановить UIScrollView получать события касания от родительского представления?

У меня есть UIView содержащий UIScrollView . Этот UIView должен реагировать на некоторые события касания, но он не отвечает из-за содержащегося в нем scrollView.

Этот контент- contentView установлен в MoviePlayer внутри OuterView. Теперь, когда я нажимаю в области, где находится MoviePlayer, события касания моего OuterView не реагируют.

Я даже установил userInteraction проигрывателя userInteraction NO .

но теперь scrollView мешает.

Я упомянул этот пост о СА.

Как супервизор может перехватить сенсорную последовательность перед любым ее подзоном?

Но решение там, попросит меня установить userInteractionEnabled для NO для scrollView. Но если я это сделаю, мое масштабирование не произойдет!

Что делать?

UIScrollView перехватывает все события касания, потому что он должен решить, если / когда пользователь движется пальцем, чтобы прокрутить прокрутку. Вы можете захотеть подклассифицировать UIView, затем в

 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)evt; - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)evt; - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)evt; 

методы, проверьте необходимые касания, затем переместите все эти методы на ваш UIScrollViewInstance. Например:

 #import <Foundation/Foundation.h> #import <UIKit/UIKit.h> @interface MyView: UIView { UIScrollView *scrollView; } @end @implementation MyView /* don't forget to alloc init your ScrollView init -init and release it in -dealloc! Then add it as a subview of self. */ - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)evt { /* check for a gesture */ [scrollView touchesBegan:touches withEvent:evt]; } - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)evt; { /* check for a gesture */ [scrollView touchesMoved:touches withEvent:evt]; } - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)evt; { /* check for a gesture */ [scrollView touchesEnded:touches withEvent:evt]; } @end 
  • Показать экран при первом запуске только в iOS
  • iOS: обнаружение, когда устройство Bluetooth отключается, когда приложение не работает
  • Использовать значок UIBarButtonItem в UIButton
  • Как восстановить сохраненные данные до значений по умолчанию?
  • Сэге на другой раскадровки?
  • UIBezierPath: как использовать - (BOOL) containsPoint: (CGPoint) point onPath: (UIBezierPath *) path inFillArea: (BOOL) inFill метод для заполнения изображения?
  • Получить UIViewController из UIView?
  • Что происходит с поддерживаемой ячейкой очереди UICollectionView при получении предупреждения о памяти?
  • Как определить высоту интерфейса UIWebView на основе содержимого, с переменной высотой UITableView?
  • UITableView многоразовые пользовательские ячейки отображают неправильный контент в подзаголовках
  • Я скрыл панель навигации и строку состояния, теперь жест жесткости экрана, чтобы вернуться назад, не будет работать, это типично?
  • Interesting Posts

    Как я могу узнать, реализует ли суперкласс также тот же метод, который реализуется моим подклассом?

    Как экспортировать файлы, созданные в устройстве для Xcode 6?

    libphonenumber для iOS или порта объектива-c

    Измерение кампании – Google Analytics iOS SDK

    преобразовать дату NSstring в дату UTC

    Ошибки Unreadble с Firebase Crash Reporting на ios (файлы Symbol)

    Получение push-уведомления даже после удаления приложения iPhone

    операторы с быстрым переключением имеют разные и общие вещи

    Правильный подход к безопасному сохранению контекста управляемого объекта данных в фоновом потоке?

    Использование неразрешенного идентификатора 'FIRInstanceIDAPNSTokenTypeSandbox'

    Предупреждение памяти iOS, отправленное на освобожденный UIViewController

    О сети iOS IPv6 с ионной структурой

    Альтернативный значок в iOS 10.3: избегайте диалогового окна уведомлений об изменении значка

    Запретить вкладке изменять вкладку с определенным индексом – IOS

    Сертификаты не отображаются в идентификаторе подписи кода в настройках сборки

    Давайте будем гением компьютера.