iOS - Programlı olarak bir UISwitch nasıl ayarlanır


104

UISwitch'imi programlı olarak açmak veya kapatmak istiyorum. Bunu nasıl yaparım? Ben bir iOS acemisiyim.

Yanıtlar:


196

Bir UISwitch kullanıyorsanız, geliştirici API'sinde görüldüğü gibi, görev setOn: animated:hile yapmalıdır.

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

Bu nedenle, programınızda anahtarı AÇIK konuma getirmek için şunları kullanırsınız:

Amaç-C

[switchName setOn:YES animated:YES];

Swift

switchName.setOn(true, animated: true)

25

UISwitches, ayarlanması gereken "on" adlı bir özelliğe sahiptir.

Bir iOS uygulamasından mı yoksa bir mobil web sitesinden mi bahsediyorsunuz?


10

İOS'taki anahtardaki açma / kapama durumu sorununu çözmek için bu kodu kullanın

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

Bu satır için olumlu oy verildi:UISwitch *switchObject = (UISwitch *)sender;
Kullanıcı olmayan kullanıcı

2

Bunun için de kullanıyorum setOn:animated:ve iyi çalışıyor. Bu, bir uygulamanın ön ayarı yükleyecek şekilde kodda viewDidLoadgeçiş yapmak için kullandığım UISwitchkoddur.

// 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];   
    }
}
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.