mam UIScrollView
który został subclassed
aby uzyskać wydarzenia dotykowe. Wewnątrz znajduje się UIView UIScrollView
i UIView
z kolei ma kilka subviews.
Zasadniczo struktura jest UIScrollView
> UIView
> UIView"s
.
The UIView"s
otrzymał a tag
aby wykryć widok, który został dotknięty.
Ale touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
jest uruchamiany dwa razy, gdy tylko dotknę UIView
.
Co mogło pójść nie tak?
Podklasowałem UIScrollView
jak wspomniano tutaj: Touches Began.
Odpowiedzi:
0 dla odpowiedzi № 1Miałem ten sam problem, tylko podczas iPada, i zauważyłem, że dotknięcie było takie samo, np. z
po touches
w konsoli LLDB otrzymałem dokładnie te same dane, z wyjątkiem "lokalizacji w widoku". Interpretuję to, że inny pogląd przekazał wydarzenie, w tym przypadku główne UIWindow
, tak wypróbowany:
UIWindow *theMainWindow = [[UIApplication sharedApplication] keyWindow];
theMainWindow.gestureRecognizers = 0;
To działa. Weryfikowałem, że wersja na iPhone'a nadal działa dobrze (z Pan i Zoom).