Ho un UIScrollView
che è stato subclassed
per ottenere gli eventi touch. C'è un UIView all'interno del UIScrollView
e il UIView
a sua volta ha diverse sottoview.
Quindi fondamentalmente la struttura è UIScrollView
> UIView
> UIView"s
.
Il UIView"s
è stato dato un tag
in modo da rilevare la vista che è stata toccata.
Ma il touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
viene sparato due volte ogni volta che tocco il UIView
.
Cosa potrebbe essere andato storto?
Ho sottoclassato il UIScrollView
come menzionato qui: Tocca Ha Iniziato.
risposte:
0 per risposta № 1Ho avuto lo stesso problema, solo mentre iPad, e ho notato che il parametro touch era lo stesso, ad es. con
po touches
nella console LLDB mi ha dato esattamente gli stessi dati, ad eccezione della "posizione in vista". Interpreto questo che un'altra vista ha inoltrato l'evento, in questo caso il principale UIWindow
, così provato:
UIWindow *theMainWindow = [[UIApplication sharedApplication] keyWindow];
theMainWindow.gestureRecognizers = 0;
Funziona. Ho verificato che la versione per iPhone funziona ancora bene (con Pan e Zoom).