iOS - Как программно настроить UISwitch


105

Я хочу программно включить или выключить свой UISwitch. Как мне это сделать? Я новичок в iOS.

Ответы:


197

Если вы используете UISwitch, то, как видно из API разработчика, задача setOn: animated:должна помочь.

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

Итак, чтобы установить переключатель в своей программе, вы должны использовать:

Цель-C

[switchName setOn:YES animated:YES];

Swift

switchName.setOn(true, animated: true)

25

У UISwitches есть свойство, называемое «on», которое необходимо установить.

Вы говорите о приложении для 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.