Одновременные жесты iOS не работают должным образом

Я пытаюсь осуществить одновременный удар двумя пальцами влево и два пальца вправо.

В моем viewDidLoad я инициализирую жесты следующим образом:

swipeRecognizerL= [[UISwipeGestureRecognizer alloc]
                       initWithTarget:self action:@selector(handleSwipeL)];
swipeRecognizerL.direction=UISwipeGestureRecognizerDirectionLeft;
swipeRecognizerL.numberOfTouchesRequired=2;
swipeRecognizerL.delegate = self;


swipeRecognizerR= [[UISwipeGestureRecognizer alloc]
                       initWithTarget:self action:@selector(handleSwipeR)];
swipeRecognizerR.direction=UISwipeGestureRecognizerDirectionRight;
swipeRecognizerR.numberOfTouchesRequired=2;
swipeRecognizerR.delegate = self;

Затем я добавляю распознаватели в AVPlayerViewController;

AVPlayerViewController *controller = [[AVPlayerViewController alloc]init];
[controller.view.subviews[0] addGestureRecognizer:swipeRecognizerR];
[controller.view.subviews[0] addGestureRecognizer:swipeRecognizerL];

Методы делегата выглядят так:

- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer{
    return YES;
}

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer{

    NSLog(@"This one:%@,  theOtherOne:%@", gestureRecognizer, otherGestureRecognizer);
    return YES;
}
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{
    return YES;
}

Теперь отдельные касания двумя пальцами распознаются нормально, но когда я делаю двойное касание двумя пальцами (один влево, один вправо), каким-то образом, это кажется интерпретируемым как жест щепотки, согласно входу в систему shouldRecognizeSim одновременно ouslyWithGestureRecognizer:

Вот этот:; target = <(action = handleSwipeR, target =)>; numberOfTouchesRequired = 2; direction = right>, theOtherOne:; target = <(action = _handlePinchGesture:, target =) >>

Любая подсказка, что я делаю не так? Дайте мне знать, если вам нужна дополнительная информация.

0 ответов

Другие вопросы по тегам