7
votes

Comment détecter l'événement Touch Fin pour Uibutton?

Je veux gérer un événement survient lorsque UIBUTTON TOUCH est terminé. Je sais que Uicontrol a quelques événements implémenté des touches (UicontroleventTouchdown, UicontroleventTouchcancel, etc.). Mais je ne peux pas attraper aucun d'entre eux sauf uicontroleventtouchdown et uicontroleventtouchupinseide .

Mon bouton est une sous-vision de certains UIView. Cet UIView a UserActionAcédigActivEnabled Configuré sur Oui .

Qu'est-ce qui ne va pas?


0 commentaires

6 Réponses :


25
votes

Vous pouvez définir des cibles d'action pour votre bouton en fonction des contrôles xxx

exemple: xxx < / p>


2 commentaires

Oh, ça marche très bien. Mon inattention a joué une blague cruelle avec moi. Merci


Merci . Cela marche. Mais le problème vient si l'utilisateur traîne lors de la touche. TouchupInside ne s'appelle pas lors de cette tympon :(



3
votes

Vous devez créer votre propre classe personnalisée qui étend uibutton code>. Votre fichier d'en-tête doit ressembler à ceci.

@interface customButton : UIButton
{
}

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


1 commentaires

Malheureusement, mon programmeur principal a interdit de créer une nouvelle classe. Mais cette solution fonctionne également correctement



0
votes

Je pense qu'il est plus facile xxx


0 commentaires

0
votes

Il suffit d'ajouter Iboutlets pour Uibutton avec des événements Touchdown: et une action principale déclenché: xxx


0 commentaires

3
votes

@ Ramshad's accepté Répondre dans SWIFT 3.0 Syntaxe Utilisation de la méthode suivante de uicontrol classe xxx

exemple: xxx


0 commentaires

0
votes

SWIFT 3.0 Version: strong>

 let btn = UIButton(...)

 btn.addTarget(self, action: #selector(MyView.onTap(_:)), for: .touchUpInside)

 func onTap(_ sender: AnyObject) -> Void {

}


0 commentaires