Я знаю, как фильтровать oneTap / doubleTap с помощью Apple API. код следующий.
UITapGestureRecognizer *doubleTapGestureRecognizer = [[UITapGestureRecognizer alloc]
initWithTarget:self action:@selector(handleDoubleTap:)];
doubleTapGestureRecognizer.numberOfTapsRequired = 2;
[self addGestureRecognizer:doubleTapGestureRecognizer];
UITapGestureRecognizer *singleTapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTap:)];
singleTapGestureRecognizer.numberOfTapsRequired = 1;
**[singleTapGestureRecognizer requireGestureRecognizerToFail: doubleTapGestureRecognizer];**
[self addGestureRecognizer:singleTapGestureRecognizer];
но oneTap / doubleTap checkDelayTime чувствует себя так долго (около 0,5 с?).
Вообще приложение пользователи реакции очень быстро. Хотя 0,5 секунды это обычно короткое время. но в среде мобильных устройств это долго, потому что реагировать пользователей очень важно.
Кстати, YouTubeApp имеет очень совершенный алгоритм фильтрации на данный момент oneTap / doubleTap. oneTap-doubleTap checkDelay - VeryVeryShort Perfectly Optimization.
oneTap (показать / скрытая панель управления)
doubleTap (full / default videoScreenSize)
Как реализовать как YoutubeApp? о фильтрации oneTap-doubleTap Не используется селектор requireGestureRecognizerToFail. о очень короткой задержке различения oneTap-doubleTap.
Я думаю, что YoutubeApp не использует селектор requireGestureRecognizer.