Я пытаюсь добавить 2 UITapGestureRecognizers к представлению, один для одного крана и один для событий с двойным нажатием. Устройство распознавания однократного нажатия работает как ожидалось (само по себе). Но, похоже, я не могу заставить работать распознаватель двойного нажатия.
Попробовали поэкспериментировать с такими свойствами, как: cancelsTouchesInView, delaysTouchesBegan и delaysTouchesEnded, но все еще не работают.
Когда я дважды нажимаю, распознаватель однократного нажатия всегда будет активирован, а событие двойного нажатия также будет отправлено на супер-просмотр. Но пользовательский распознаватель двойного нажатия не кажется вообще уведомленным.
Документация, похоже, предполагает, что 3 свойства, упомянутые выше, могут быть использованы для этой цели. Но я просто не знаю, какие значения должны быть установлены и на каких распознавателях (одиночных, двойных или обоих). Надеюсь, кто-то, кто знаком с этим, может помочь.
Ниже приведен последний обновленный блок кода.
// ****** gesture recognizers ******
- (void)addSingleAndDoubleTapGestureRecognizersToView:(UIView *)view
{
    // single tap    
    UITapGestureRecognizer *singleTapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget: tableViewController action: @selector(handleSingleTapOnView:)];                                 
    [singleTapRecognizer setNumberOfTouchesRequired:1];
    [view addGestureRecognizer: singleTapRecognizer];
    // double tap 
    UITapGestureRecognizer *doubleTapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget: tableViewController action: @selector (handleDoubleTapOnView:)];        
    [doubleTapRecognizer setNumberOfTouchesRequired:2];         
    [singleTapRecognizer requireGestureRecognizerToFail: doubleTapRecognizer];
    [view addGestureRecognizer: doubleTapRecognizer];         
}
- (void)handleSingleTapOnView:(id)sender
{
}
- (void)handleDoubleTapOnView:(id)sender
{
}
