switch stepper fields iphone ios5 uiswitch

iphone - stepper - swift switch button



¿Cómo llamar a una acción cuando UISwitch cambia de estado? (3)

Obviamente, podemos hacer lo mismo con Swift, aquí está el código (compilado y trabajado con la última versión de Swift 3.1 )

Agregue acción a su botón de cambio:

mySwitch.addTarget(self, action: #selector(self.switchValueDidChange), for: .valueChanged)

E implementa este método:

func switchValueDidChange(sender:UISwitch!) { print(sender.isOn) }

O incluso si no está usando el remitente, puede eliminar:

func switchValueDidChange() { // do your stuff }

Quiero realizar alguna acción cuando UISwitch cambia su estado, por lo tanto, se activa o desactiva. ¿Cómo hago esto? Necesito pasar dos objetos como parámetros.

Se crea en código, por lo tanto, no usa xib.


Solución fácil para mí (trabajó con swift 4):

@IBAction func toggleSwitch(_ sender: UISwitch) { if(mySwitch.isOn) { //Do something } else { //Do something } }

Vincular la función anterior con el valor cambiado en Eventos enviados en la pestaña de conexión


[yourSwitchObject addTarget:self action:@selector(setState:) forControlEvents:UIControlEventValueChanged];

Esto llamará al siguiente método cuando cambie su estado de interruptor

- (void)setState:(id)sender { BOOL state = [sender isOn]; NSString *rez = state == YES ? @"YES" : @"NO"; NSLog(rez); }