2013-07-31 6 views
5

Quello che voglio implementare è la funzionalità del tipo di corrispondenza delle colonne. Ho tre pulsanti sulla colonna destra e tre sulla colonna sinistra con alcune informazioni su di essi. Voglio disegnare il percorso da un pulsante sul lato destro a uno qualsiasi dei pulsanti sul lato sinistro trascinando il dito.toccaBegan: withEvent: non viene chiamato quando viene toccato su un UIButton

Vorrei utilizzare il percorso UIBezierPath per tracciare il percorso, e per quello sicuramente è necessario un punto di inizio e di fine.

Ora il problema è come è possibile attivare i metodi touchesBegan, touchesMoved e touchesEnded toccando i pulsanti in modo da ottenere i punti di inizio e di fine.

Un'altra opzione a cui sto pensando è di coprire tutti i pulsanti con un UIView invisibile, e in qualche modo controllare se il punto toccato di questa vista di sovrapposizione si trova in una qualsiasi delle cornici dei pulsanti.

BTW Posso anche sostituire questi pulsanti con UIImageView semplice. Ho aggiunto i pulsanti solo per ottenere punti di contatto.

Qualsiasi aiuto.

+0

http://stackoverflow.com/questions/3809397/ios-advanced-gestures-getting-swipe-direction-vector Eventuale duplicato. –

risposta

4

creare una sottoclasse di UIButton e aggiungi a ...

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
    [super touchesBegan:touches withEvent:event]; 
    [self.nextResponder touchesBegan:touches withEvent:event]; 
} 

questo modo si ottiene il vostro tocco all'interno del pulsante.

2

Deselezionare Interazione utente abilitata casella di controllo di UIButton. Otterrai la chiamata per il metodo touchesbegan su quel pulsante.

Problemi correlati