2011-08-01 3 views
0

Je suis à la recherche de touches sur mon UIView. Est-ce que certaines situations que je veux abel annuler des touches afin que touchEnded ne soit pas appelé. Mais peu importe ce qui toucheEnded sera toujours appelé?iPhone - Détecter les contacts et les annuler?

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
    if (SOMETHING_SPECIAL) 
    { 
     [super touchesCancelled:touches withEvent:event]; 
    } 
} 

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
    //I don't want it to get here if touches were canceled how can i do this? 
} 

- Dans mes touchesEnded comment puis-je déterminer si des touches ont été annulées ou non?

Répondre

1

TouchesEnded se toujours nous appelle chaque fois que vos touches où oblitérés ou non, je vous conseille donc au lieu d'avoir ce exact:

if (SOMETHING_SPECIAL) 
    { 

    } 

Dans votre:

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event 
+0

Mais je veux annuler l'événement tactile lorsque les touches sont hors de mon cadre UIView, et il ne le fait pas. C'est comme ça que la plupart des éléments de l'IU fonctionnent et j'essaie de suivre le même schéma – aryaxt

+0

@Aryaxt Je vois ce que vous voulez dire, je ne sais pas si c'est possible. –

+0

J'ai fini par utiliser un drapeau BOOL que j'ai mis à NON lorsque les touches commencent et que je mets à OUI lorsque les touches se déplacent hors des limites de la vue. – aryaxt

Questions connexes