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);
}