2012-03-16 2 views
0

J'ai implémenté un UIButton personnalisé et pour que je puisse gérer les événements LongPress (sans utiliser Gesture Recognizers), j'ai dû utiliser touchesBegan:, touchesEnded: sur ma classe. Le problème est que maintenant les événements de bouton réguliers ne fonctionnent pas. Je me demande ce qui cause cela et comment je pourrais l'éviter?TouchesBegan remplaçant les actions touchUpInside

Les événements tactiles fonctionnent mais les actions précédentes que j'avais pour touchUpInside: ne sont plus fonctionnelles.

Merci

Répondre

1

ne pas utiliser touchesBegan: pour LongPress, utilisez ce geste! Reconnaisseur

UILongPressGestureRecognizer *longPressGesture = [[UILongPressGestureRecognizer alloc]  initWithTarget:self action:@selector(longTap:)]; 
[view addGestureRecognizer:longPressGesture]; 
[longPressGesture release]; 

-(void) longTap:(UILongPressGestureRecognizer *)gestureRecognizer{ 
    NSLog(@"gestureRecognizer= %@",gestureRecognizer); 
    if ([gestureRecognizer state] == UIGestureRecognizerStateBegan) { 
     NSLog(@"longTap began"); 
    } 
} 
+0

Je veux éviter cela. Les outils de reconnaissance de gestes limitent mon public cible iOS. Je veux m'en éloigner. – MrShoot

+1

que voulez-vous dire? reconnaissance de gestes sont déjà là depuis iOS3.2! Personne n'utilise plus la 2.0. Presque tout le monde dans le monde est au moins sur iOS 4.0! –

+0

Quelques exigences que je ne peux pas dépasser: P – MrShoot