2009-11-12 3 views
1

Comment ajouter plusieurs actions dans un seul UIButton? La vie par exemple,Comment puis-je ajouter plusieurs actions à un UIButton?

[btn addTarget:self action:@selector(method1) forControlEvents:UIControlEventTouchUpInside]; 
[btn addTarget:self action:@selector(method2) forControlEvents:UIControlEventTouchDown]; 

Merci

+0

Quelque chose ne va pas avec le code que vous avez collé? Que se passe-t-il? – marcc

+0

La méthode 2 n'appelle pas. – domlao

+0

une partie de ma question que je n'ai pas accepté la réponse parce que certains d'entre eux sont de bonnes réponses, donc je les ai juste upvote. – domlao

Répondre

8

Le code que vous avez collé devrait fonctionner:

[btn addTarget:self action:@selector(method1) forControlEvents:UIControlEventTouchUpInside]; 
[btn addTarget:self action:@selector(method2) forControlEvents:UIControlEventTouchDown]; 

Je le fais tout le temps. Habituellement pour TouchDown et TouchUp. Le fait que method2 ne soit pas appelé est un bug. Avez-vous un NSLog() au début de la méthode 2?

+0

ouais ça a marché, j'ai juste oublié l'IBAction. merci – domlao

+1

Ce n'est vraiment pas une solution évolutive. – coneybeare

2
[btn addTarget:self action:@selector(method1and2) forControlEvents:UIControlEventTouchUpInside]; 

… 

- (void)method1and2 { 
    [self method1]; 
    [self method2]; 
} 
+0

Mais il a 2 événements différents? C'est ce que je pensais d'abord aussi, mais ça ne marche pas pour la question. – marcc

+0

vous avez raison. J'aurais dû faire défiler le code vers la droite. – coneybeare

Questions connexes