iOS - Як програмно встановити UISwitch


104

Я хочу ввімкнути або вимкнути програму UISwitch. Як би я це зробив? Я новачок iOS.

Відповіді:


195

Якщо ви використовуєте UISwitch, то, як видно з API розробника, завдання setOn: animated:повинно виконати трюк.

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

Отже, щоб увімкнути перемикач у своїй програмі, ви використовуєте:

Ціль-С

[switchName setOn:YES animated:YES];

Швидкий

switchName.setOn(true, animated: true)

25

UISwitches має властивість під назвою "увімкнено", яку слід встановити.

Ви говорите про додаток для iOS або мобільний веб-сайт?


10

Використовуйте цей код, щоб вирішити проблему стану включення / вимкнення в комутаторі в 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";
    }                

Запропоновано для цього рядка:UISwitch *switchObject = (UISwitch *)sender;
Користувач, який не є користувачем

2

Я також використовую setOn:animated:для цього, і це прекрасно працює. Це код, який я використовую в додатку viewDidLoadдля перемикання UISwitchкоду, щоб він завантажував попередньо встановлений.

// 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];   
    }
}
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.