iOS - Cara menyetel UISwitch secara terprogram


104

Saya ingin mengaktifkan atau menonaktifkan UISwitch secara terprogram. Bagaimana saya melakukannya? Saya seorang pemula iOS.

Jawaban:


195

Jika Anda menggunakan UISwitch, seperti yang terlihat di API pengembang, tugas setOn: animated:harus melakukan triknya.

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

Jadi untuk mengatur saklar ON dalam program Anda, Anda akan menggunakan:

Objective-C

[switchName setOn:YES animated:YES];

Cepat

switchName.setOn(true, animated: true)

25

UISwitches memiliki properti bernama "on" yang harus disetel.

Apakah Anda berbicara tentang aplikasi iOS atau situs web seluler?


10

Gunakan kode ini untuk menyelesaikan masalah status on / off di sakelar di 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";
    }                

Suara positif untuk baris ini:UISwitch *switchObject = (UISwitch *)sender;
Pengguna yang bukan pengguna

2

Saya juga menggunakan setOn:animated:untuk ini dan berfungsi dengan baik. Ini adalah kode yang saya gunakan di aplikasi viewDidLoaduntuk mengaktifkan UISwitchkode sehingga memuat 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];   
    }
}
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.