iOS: cómo configurar un UISwitch mediante programación


104

Quiero activar o desactivar mi UISwitch mediante programación. ¿Como podría hacerlo? Soy un novato en iOS.

Respuestas:


195

Si está utilizando un UISwitch, entonces, como se ve en la API del desarrollador, la tarea setOn: animated:debería funcionar.

- (void)setOn:(BOOL)on animated:(BOOL)animated

Entonces, para activar el interruptor en su programa, usaría:

C objetivo

[switchName setOn:YES animated:YES];

Rápido

switchName.setOn(true, animated: true)

25

Los UISwitches tienen una propiedad llamada "on" que debe establecerse.

¿Estás hablando de una aplicación para iOS o un sitio web móvil?


10

Use este código para resolver el problema del estado de encendido / apagado en el interruptor en iOS

- (IBAction)btnSwitched:(id)sender {
    UISwitch *switchObject = (UISwitch *)sender;
    if(switchObject.isOn){
        self.lblShow.text=@"Switch State is Disabled";
    }else{
        self.lblShow.text=@"Switch State is Enabled";
    }                

Voto a favor para esta línea:UISwitch *switchObject = (UISwitch *)sender;
Usuario que no es usuario

2

También utilizo el setOn:animated:para esto y funciona bien. Este es el código que utilizo en una aplicación viewDidLoadpara alternar un UISwitchcódigo de entrada para que cargue el preset.

// Check the status of the autoPlaySetting
BOOL autoPlayOn = [[NSUserDefaults standardUserDefaults] boolForKey:@"autoPlay"];

[self.autoplaySwitch setOn:autoPlayOn animated:NO];

0

ViewController.h

- (IBAction)switchAction:(id)sender;
@property (strong, nonatomic) IBOutlet UILabel *lbl;

ViewController.m

- (IBAction)switchAction:(id)sender {

    UISwitch *mySwitch = (UISwitch *)sender;

    if ([mySwitch isOn]) {
        self.lbl.backgroundColor = [UIColor redColor];
    } else {
        self.lbl.backgroundColor = [UIColor blueColor];   
    }
}
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.