iOS - jak programowo ustawić przełącznik UISwitch

104

Chcę programowo włączać lub wyłączać mój przełącznik UISwitch. Jak bym to zrobił? Jestem nowicjuszem na iOS.

Suchi
źródło

Odpowiedzi:

196

Jeśli używasz UISwitch, to jak widać w API dewelopera, zadanie setOn: animated:powinno załatwić sprawę.

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

Aby ustawić przełącznik w swoim programie w pozycji ON, użyjesz:

Cel C

[switchName setOn:YES animated:YES];

Szybki

switchName.setOn(true, animated: true)
Andrew_L
źródło
25

Przełączniki UIS mają właściwość o nazwie „on”, którą należy ustawić.

Czy mówisz o aplikacji na iOS lub mobilnej witrynie internetowej?

NWCoder
źródło
10

Użyj tego kodu, aby rozwiązać problem stanu włączenia / wyłączenia przełącznika w systemie 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";
    }                
Anand Kr. Avasthi
źródło
Głosowano za tym wierszem:UISwitch *switchObject = (UISwitch *)sender;
Użytkownik niebędący użytkownikiem
2

Używam również setOn:animated:do tego i działa dobrze. To jest kod, którego używam w aplikacji viewDidLoaddo przełączania UISwitchw kodzie, aby ładował ustawienie wstępne.

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

[self.autoplaySwitch setOn:autoPlayOn animated:NO];
Mike Critchley
źródło
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];   
    }
}
Acharya Ronak
źródło