Na przykład mam widoku, gdzie chcę dwa różne gesty:Jak wykrywać dotknięcie i podwójne dotknięcie jednocześnie za pomocą UITapGestureRecognizer?
dotknij, aby wykonać działanie A. dwukrotnie, aby wykonać działanie przyczyni B.
problem jest z UITapGestureRecognizer Mogę jedynie ustawić minimalny wymagany liczyć z kranu . Rozpoznawanie jednym dotknięciem rozpoznaje dotknięcie, zanim dwukrotne dotknięcie rozpoznawania gestów rozpozna podwójne dotknięcie.
Przykład:
_tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapGestureRecognized:)];
_tapGestureRecognizer.numberOfTouchesRequired = 1;
_tapGestureRecognizer.numberOfTapsRequired = 1;
[self addGestureRecognizer:_tapGestureRecognizer];
_doubleTapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(doubleTapGestureRecognized:)];
_doubleTapGestureRecognizer.numberOfTouchesRequired = 1;
_doubleTapGestureRecognizer.numberOfTapsRequired = 2;
[self addGestureRecognizer:_doubleTapGestureRecognizer];
Zawsze rozpoznaje jednego kranu, nawet jeśli robię podwójną kurek bardzo szybko. Jak mogę to skonfigurować, aby narzędzie do rozpoznawania gestów czekało i widzi, czy rozpoznaje go rozpoznawanie za pomocą dwukrotnego kliknięcia?
Możliwe rozwiązanie i powielone: http://stackoverflow.com/questions/7175086/iphone-single-tap-gesture-conflicts-with-double-one – xarly
Spróbuj usunąć opóźnienie lub dopasować, do którego chcesz. http://stackoverflow.com/a/25368653/3060790 – Pagly