2010-03-03 6 views

Répondre

31

Les boutons ont la méthode - (void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents.

Le code à utiliser ressemblerait à ceci:

UIButton *myButton = [[UIButton alloc] init...]; 
[myButton addTarget:something action:@selector(myAction) forControlEvents:UIControlEventTouchUpInside]; 

Cela suppose que votre IBAction est nommé myAction et que something est le contrôleur pour lequel cette action est définie.

+0

Lorsque vous spécifiez un sélecteur pour un UIButton, devez-vous nommer une méthode avec un seul argument, les boutons sélectionnés id? Que se passerait-il si je spécifiais une méthode sans arguments? – mmccomb

+0

Super, merci! Je vais essayer, mais cela ressemble à ce que je cherche. – Nicsoft

+1

@mattmccomb: Dans la documentation: "Le message d'action peut éventuellement inclure l'expéditeur et l'événement en tant que paramètres, dans cet ordre." Vous pouvez avoir une méthode avec zéro, un ou deux arguments comme action. Mais n'oubliez pas d'ajouter le: à la fin du nom de l'action pour chaque argument. – mrueg

6

d'abord, créez le bouton:

UIButton * btn; 

btn = [ [ UIButton alloc ] initWithFrame: CGRectMake(0, 0, 200, 50) ]; 

ajoute une action:

[ btn addTarget: self action: @selector(myMethod) forControlEvents: UIControlEventTouchDown ]; 

ajoute ensuite le bouton à une vue:

[ someView addSubView: btn ]; 
[ btn release ]; 

UIControl reference UIButton reference

Questions connexes