Разпознавател на множество плъзгания в различни компоненти на контролера ios

Имам UIViewController с разпознавател на плъзгане по подразбиране за отваряне/затваряне на менюто от дясната страна на приложението ми (използвам ECSlidingViewController плъгин). Този разпознавач на плъзгане е настроен на родителския изглед на контролера.

Ето част от кода за откриване на плъзгане за отваряне на дясното странично меню:

-(void)viewDidAppear:(BOOL)animated {
      [super viewDidAppear:animated];
      [self.view addGestureRecognizer:self.slidingViewController.panGesture];}

Вътре в това UIViewController имам UIImageView, трябва да открия плъзгане във всички посоки (надясно, наляво, нагоре, надолу). Досега съм задал всички плъзгания на Storyboard до UIImageView, но приложението открива плъзгането само на един компонент (този в родителския изглед за отваряне на дясното странично меню или този в UIImageView), а не и на двата.

Как мога да накарам да открия плъзгане на двата компонента?


person Fernando Santiago    schedule 03.04.2015    source източник


Отговори (1)


Причината за това е, че вашите разпознаватели на жестове в изгледа на изображението се добавят по време на initWithCoder, а другият ви се добавя по време на viewDidLoad, което се случва след initWithCoder.

Ако искате и двете да се осъществят, ще трябва да внедрите gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:, в противен случай iOS просто ще бъде алчен и ще вземе най-новия добавен разпознавач на жестове, ако има повече от един за един и същ жест (както виждате сега).

person Dreaming In Binary    schedule 03.04.2015