IOS-如何以编程方式设置 UISswitch

我想以编程方式设置我的 UISswitch 的开或关。我要怎么做?我是 iOS 的新手。

79834 次浏览

UISwitches have a property called "on" that should be set.

Are you talking about an iOS app or a mobile web site?

If you are using a UISwitch, then as seen in the developer API, the task setOn: animated: should do the trick.

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

So to set the switch ON in your program, you would use:

Objective-C

[switchName setOn:YES animated:YES];

Swift

switchName.setOn(true, animated: true)

Use this code to solve on/off state problem in switch in 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";
}

I also use the setOn:animated: for this and it works fine. This is the code I use in an app's viewDidLoad to toggle a UISwitch in code so that it loads preset.

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


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

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