2010-03-03 12 views

risposta

31

I pulsanti hanno il metodo - (void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents.

Il codice per utilizzare questo sarebbe simile a questa:

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

Questo presuppone che l'IBAction si chiama myAction e che something è il controller per il quale si definisce che l'azione.

+0

Quando speciying un selettore per un UIButton devi nominare un metodo con un singolo argomento, l'id dei pulsanti selezionati? Cosa succederebbe se specificassi un metodo senza argomenti? – mmccomb

+0

Grande, grazie! Ci proverò ma questo sembra quello che sto cercando. – Nicsoft

+1

@mattmccomb: Dalla documentazione: "Il messaggio di azione può facoltativamente includere il mittente e l'evento come parametri, in questo ordine." Puoi avere un metodo con zero, uno o due argomenti come azione. Ma non dimenticare di aggiungere: alla fine del nome dell'azione per ogni argomento. – mrueg

6

In primo luogo, creare il pulsante:

UIButton * btn; 

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

Poi aggiunge un'azione:

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

Poi aggiunge il pulsante per la vista:

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

UIControl reference UIButton reference

Problemi correlati