2011-10-29 1 views
5

appena iniziato a esplorare l'SDK di iOS. Ho alcuni pulsanti, ho bisogno di evidenziarli toccando fuori una volta e poi trascinare. Come ho capito, l'evento TouchDragEnter si attiva quando si fa clic sul pulsante, quindi si trascina all'esterno e si trascina nuovamente all'interno. C'è qualche evento che si attiva quando si fa clic all'esterno del pulsante e quindi si trascina all'interno?Evidenzia il pulsante quando trascini invio

risposta

6

Alexander,

Cercando le stesse informazioni, ho visto la tua domanda non era stata data risposta. Probabilmente lo hai già capito, ma ecco come l'ho fatto.

Si noti che il metodo pointInside: withEvent: controlla se il punto si trova all'interno dei limiti del pulsante. Poiché l'evento touch proviene dalla vista, devi convertirlo nel sistema di coordinate del pulsante.

-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event { 
for (UITouch *t in touches) { 
    CGPoint touchPoint = [t locationInView:self.view]; 

    CGPoint testPoint = [self.view convertPoint:touchPoint toView:aButton]; 
    if ([aButton pointInside:testPoint withEvent:event]) { 
     //Do something 
    } 
    //rest of code