2009-11-11 2 views
1

Je sous-classe un UIButton et la détection des mouvements des doigts, si l'utilisateur passe son doigt d'une certaine manière, je vais apparaître un UIAlerView. Tout est bien, sauf qu'après avoir ignoré UIAlertView ... lorsque l'utilisateur touche à nouveau l'UIButton, le bouton passe à l'état en surbrillance et reste bloqué, en surbrillance continue, même si aucun doigt ne le touche.UIButton sous-classe en surbrillance en permanence après un pop-up et UIAlertView

En appuyant à nouveau sur le bouton, l'UIButton commence à se comporter normalement (uniquement surligné lorsque vous le touchez).

Donc, je ne peux que présumer qu'une alerte lors d'un balayage, vissera le processus des événements, les touches ne s'allumant jamais peut-être?

Si quelqu'un a des idées sur la façon de «réinitialiser» le bouton après le balayage afin qu'il se comporte comme il se doit, je serais reconnaissant.

Répondre

1

Est-ce que vous réinitialisez votre état dans touchCancelled?

+0

Je n'appliquais pas les touchCancelled. C'est probablement le problème, je vais vérifier maintenant ... J'essayais de réinitialiser l'état dans touchesMoved. – user139816

+0

OK lors de la mise en place de touchesCancelled, comment dois-je 'réinitialiser l'état'? Actuellement j'essaie self.selected = NO; et [self sendActionsForControlEvents: UIControlEventTouchCancel]; mais je n'ai pas encore beaucoup de chance. – user139816

Questions connexes