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.

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)

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?


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";
    }                

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];

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];   
    }
}
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.