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

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

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

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

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

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

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

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

Что делать?

One Solution collect form web for “Как остановить UIScrollView получать события касания от родительского представления?”

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 
  • Нужно ли мне удалять цели из UIButton, прежде чем я выпущу его?
  • Хранение пользовательских объектов с помощью основных данных
  • iOS - Async NSURLConnection внутри NSOperation
  • Как печатать значение переменной NSLog?
  • iOS10 WKWebview - оценкаJavaScript ("document.height") return nil
  • Как удалить несколько элементов в NSMutableSet?
  • iOS OpenGL с использованием параметров glTexImage2D для создания UIImage?
  • Дифференцируйте касание пальца и руки / подставки для рук
  • Пересылка UIGesture в режим просмотра
  • Скрыть удаление разделительной строки, если UITableViewCells пустые
  • Ошибка NSJSONSerialization?
  • Interesting Posts

    Подстановка нулевых значений JSON в Mantle

    React-Native App с приложением Apple Watch

    Анимация UINavigationBar от сплошного цвета до прозрачного цвета

    Счетчик приложений секундомера идет слишком быстро

    Передайте одну переменную из одного диспетчера представлений в другой диспетчер представлений

    Обрезка лица с распознаванием лица

    Разбор вложенного массива словарей с использованием Object Mapper

    Исправлена ​​ошибка выбора нескольких строк текста в iOS?

    Как решить проблему сбоя с помощью журнала сбоев?

    MKPolyline отображает артефакт / пикселизацию на карте после увеличения

    Проблема с отображением glDrawElements

    Приложение сбой при попытке webViews загрузиться в контроллере панели вкладок

    Можно ли изменить цвет одного слова в UITextView и UITextField

    iOS: AVPlayerViewController включает полноэкранное вращение в портретном приложении

    JPEG2000 & UIImage

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.