2011-10-17 42 views
87

Tôi muốn đặt UISwitch thành bật hoặc tắt theo chương trình. Tôi sẽ làm như thế nào? Tôi là một newbie iOS.iOS - Cách đặt UISwitch theo lập trình

+9

tại sao số phiếu tiêu cực? xin vui lòng để lại một bình luận và tư vấn. – Suchi

Trả lời

170

Tôi không quen với 'hộp kiểm' trong iOS, nhưng nếu bạn đang sử dụng UISwitch, thì như đã thấy trong API developper, nhiệm vụ setOn: animated: sẽ thực hiện thủ thuật.

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

Vì vậy, để thiết lập các công tắc ON trong chương trình của bạn, bạn sẽ sử dụng:

Objective-C

[switchName setOn:YES animated:YES]; 

Swift

switchName.setOn(true, animated: true) 
25

UISwitches có thuộc tính được gọi là "bật" cần được đặt.

Bạn đang nói về ứng dụng iOS hoặc trang web trên điện thoại di động?

+0

ok đó là ý tôi. Cảm ơn rất nhiều! – Suchi

9

// Sử dụng mã này ...... // Để giải quyết on/off vấn đề nhà nước chuyển đổi trong iOS

- (IBAction)btnSwitched:(id)sender { 
    UISwitch *switchObject = (UISwitch *)sender; 
    if(switchObject.isOn){ 
     [email protected]"Switch State is Disabled"; 
    }else{ 
     [email protected]"Switch State is Enabled"; 
    }     
2

Tôi cũng sử dụng setOn:animated: cho điều này và nó hoạt động tốt. Đây là mã tôi sử dụng trong ứng dụng viewDidLoad để chuyển đổi một mã số UISwitch của ứng dụng để mã được tải sẵn.

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

[self.autoplaySwitch setOn:autoPlayOn animated:NO]; 
+0

@jamesh Cảm ơn bạn đã đơn giản hóa mã tuyệt vời! Nhiều đánh giá cao! –

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]; 
    } 
} 
Các vấn đề liên quan