2011-09-11 19 views
6

Un problema semplice ma non riesco a trovare una soluzione per questo:Come passare un evento tattile da un UIView agli UIView (s) sotto di esso?

Ho 2 UIViews, uno sopra l'altro nella stessa visualizzazione padre. Entrambi hanno GestureRecognizers su di essi, ma solo la parte più alta sta ricevendo gli eventi. Come posso fare in modo che la vista più in alto passi tutti i gesti che ottiene alle altre UIViews sottostanti?

risposta

15

Questo è come mi passano tocchi ...

sottoclasse UIView e aggiungere

-(id)hitTest:(CGPoint)point withEvent:(UIEvent *)event { 
    UIView *hitView = [super hitTest:point withEvent:event]; 
    if (hitView == self){ 
     return nil; 
    } 
    else { 
     return hitView; 
    } 
} 
-4

Sembra che sia necessario utilizzare NSNotificationCenter per tale attività. Dai un'occhiata a questo tutorial.