2010-05-31 16 views
7

Hasta ahora, he estado usando¿Cómo reemplazo la acción existente de un (n?) UIButton?

[button1 addTarget:self action:@selector(newAction) forControlEvents:UIControlEventTouchUpInside]; 

que añade una acción adicional (creo). ¿Cómo puedo reemplazar la acción inicial con una nueva?

+0

Creo que un UIButton es aceptable, sí. –

+0

suena mucho mejor – androidnotgenius

+0

Para eliminar todas las acciones anteriores: '' '[button1 removeTarget: nil action: NULL forControlEvents: UIControlEventAllEvents]' '' - ver http://stackoverflow.com/questions/3340825/uibutton-remove-all -target-actions –

Respuesta

13

Primero, necesitará una referencia a su botón1. Luego hay que anular el registro del objetivo llamando siguiente acción:

[button1 removeTarget:self action:@selector(oldAction) forControlEvents:UIControlEventTouchUpInside] 

Puede pasar nula como la acción, esto eliminará todas las acciones desde conectada con ese objetivo desde el botón.

Entonces, es necesario llamar a

[button1 addTarget:self action:@selector(newAction) forControlEvents: UIControlEventTouchUpInside]; 

Eso es lo lindo!

la esperanza que esto era útil, Pawel

3

Primero hay que quitar la acción actual con removeTarget: Acción: forControlEvents: y luego añadir el nuevo con addTarget: Acción: forControlEvents :.

Cuestiones relacionadas