Ho un UIGestureRecognizer che voglio lavorare su due diverse Uiview, entrambe nella stessa gerarchia di vista di un UiViewController. L'azione di UIGestureRecognizer è circa la stessa su ciascuna, quindi vorrei che fosse richiamata la stessa funzione (lo sarà, ovviamente) e dirò a runtime quale delle UIViews con cui ho a che fare. Ma come? Non riesco a vedere che UIGestureRecognizer trasporta le informazioni dell'oggetto con esso. Mi manca la riga nella documentazione o il gestureRecognizer non sa a quale oggetto è stato allegato che è stato chiamato? Sembra che il punto della lingua sarebbe che lo saprebbe.UIGestureRecognizer sa quale oggetto è chiamato?
In alternativa, forse sto equivoco l'intento della classe e che non dovrei:
UITapGestureRecognizer *dblTap =
[[UITapGestureRecognizer alloc] initWithTarget: self
action: @selector(handleDblTap:)];
[viewA addGestureRecognizer: dblTap];
[viewB addGestureRecognizer: dblTap];
e poi si aspettano di essere in grado di:
-(void)handleDblTap: (UIGestureRecognizer *)gestureRecognizer
{
if (viewA)...
Se infatti UIGestureRecognizer non supporta essendo collegato a più oggetti contemporaneamente, quindi, se sai perché non supporta questo, potresti educarmi? Grazie per l'aiuto.
@NJones è giusto. Una vista per riconoscimento. Puoi anche impostare un tag per ciascun riconoscimento per scoprire quale riconoscitore ha chiamato quel metodo. –