UITapGestureRecognizer
jest dyskretny gest rozpoznawania i dlatego nigdy nie przechodzi do rozpoczęły lub zmienionych stanach. Z UIGestureRecognizer Class Reference:
Dyskretne gesty przejścia z możliwe albo Uznane (UIGestureRecognizerStateRecognized) lub Failed (UIGestureRecognizerStateFailed), w zależności od tego, czy powodzeniem interpretować gest czy nie. Jeśli rozpoznawanie gestów zostanie zmienione na Rozpoznane, wysyła komunikat o akcji do celu.
(Pamiętając oczywiście, że UIGestureRecognizerStateRecognized
== UIGestureRecognizerStateEnded
).
Dokumenty mówią, że powinieneś sprawdzić stan wykrywacza gestów, aby zobaczyć, że jest on w stanie zakończenia, zanim wystrzelisz kod, aby powiedzieć, że został rozpoznany. Nie twierdzą, że gest dotykowy faktycznie przechodzi w stan początkowy lub zmieniony (chociaż przyznaję, że dokumenty są trochę mylące w używanym języku!).
Jeśli chcesz sprawdzić, na razie palcem dół dla rozpoznawania gestów kran, polecam tylko przy użyciu touchesBegan:withEvent:
, ponieważ to jest to, czego naprawdę po tak.
Jeśli masz ten sam problem, sprawdź ten link, to jest piękno: [guides.codepath.com] (https://guides.codepath.com/ios/Using-Gesture-Recognizers#programmatically-add i -konfiguruj-a-gest-rozpoznawanie) – MoVod