2016-12-15 5 views
1

Мои жесты UITapGestureRecognizer работают так, как они предполагали, но я пытался добавить UISwipeGestureRecognizer в свое приложение tvOS, но когда я тестирую его с помощью симулятора, он не работает!Как сделать UISwipeGestureRecognizer работать с другими распознавателями жестов tvOS

вот мой код:

- (void)addScreenControlGesturesRecognizers { 
    UITapGestureRecognizer *_oneTapMediaControl = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(handleTapMediaControl:)]; 
    _oneTapMediaControl.numberOfTapsRequired = 1; 
    _oneTapMediaControl.allowedPressTypes = @[[NSNumber numberWithInteger:UIPressTypeSelect]]; 

    [self.view addGestureRecognizer:_oneTapMediaControl]; 

    UITapGestureRecognizer *_doubleTapMediaControl = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(handleDoubleTapControl:)]; 
    _doubleTapMediaControl.numberOfTapsRequired = 2; 
    _doubleTapMediaControl.allowedPressTypes = @[[NSNumber numberWithInteger:UIPressTypeSelect]]; 

    [self.view addGestureRecognizer:_doubleTapMediaControl]; 

    [_oneTapMediaControl requireGestureRecognizerToFail:_doubleTapMediaControl]; 

    UISwipeGestureRecognizer *_swipeGesturesControl = [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(handleSwipeGestureRecognizer:)]; 
    _swipeGesturesControl.direction = UISwipeGestureRecognizerDirectionLeft; 
    [self.view addGestureRecognizer:_swipeGesturesControl]; 

} 

- (void)handleSwipeGestureRecognizer:(UISwipeGestureRecognizer *)recognizer { 
     NSLog(@"Swipe Left"); 
} 
+0

ли вы тестируете в тренажере? или устройство? –

+0

@vikasprajapati симулятор. – Mastertron

+1

, пожалуйста, убедитесь, что проверили бы с помощью виртуального пульта Apple. –

ответ

2

Вы должны установить свой жест распознаватель одновременно работать с другим жестом распознавателем. Пожалуйста, используйте метод UIGestureRecognizerDelegate

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

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{ 
    return YES; 
}