UIButton elimina todas las acciones objetivo

Resuelto Ken asked hace 54 años • 6 respuestas

He agregado múltiples target-action-forControlEvents: a un UIButton. Me gustaría eliminarlos todos de una vez sin desasignar nada. Luego fijaré nuevos objetivos.

¿Es esto posible y cómo lo hago?

Ken avatar Jan 01 '70 08:01 Ken
Aceptado

Llame a removeTarget:action:forControlEvents:, pase nil para el objetivo, NULL para la acción y use una máscara de control que establezca todos los bits (UIControlEventAllEvents).

C objetivo

[someControl removeTarget:nil 
                   action:NULL 
         forControlEvents:UIControlEventAllEvents];

veloz 2

button.removeTarget(nil, action: nil, forControlEvents: .AllEvents)

Swift 3 o superior

button.removeTarget(nil, action: nil, for: .allEvents)
progrmr avatar Jul 27 '2010 04:07 progrmr

La respuesta de @progrmr en Swift 2:

button.removeTarget(nil, action: nil, forControlEvents: .AllEvents)

y rápido 3:

button.removeTarget(nil, action: nil, for: .allEvents)

Nota: Swift no tiene NULL, así que probé reemplazándolo nily parece funcionar bien.

Hlung avatar Apr 18 '2015 16:04 Hlung

Rápido 3, 4, 5:

btnCancel.removeTarget(nil, action: nil, forControlEvents: UIControlEvents.AllEvents)
Iya avatar Sep 11 '2015 10:09 Iya