使用Value Changed事件来检测开关状态,通过属性on或者实例方法isOn来获取当前状态值。返回一个BOOL型的值,因此可使用YES/NO来比较以确定其状态。
一、简单使用UISwitch
1、项目简介
(1)、添加两个UISwitch控件,改变任一个的状态,另外一个也随之改变状态。
打开xib文件,添加两个UISwitch控件,如下图所示:
(2)、为两个开关添加输出口和动作:@property (weak, nonatomic) IBOutlet UISwitch *leftSwitch;@property (weak, nonatomic) IBOutlet UISwitch *rightSwitch;- (IBAction)switchChanged:(id)sender;
(3)、编写实现代码:
在ViewController.m文件中,打开switchChanged方法,添加代码,如下图所示:
//UISwitch改变值的时候触发的事件- (IBAction)switchChanged:(id)sender { UISwitch *mySwitch = (UISwitch *)sender; BOOL setting = mySwitch.isOn;//获取开关的状态 //设置开关状态,通过setOn方法,根据后面的布尔型参数setting来确定状态 //animated的作用是设置当开关从一种状态切换到另一种时,开关上面的滑块是否有活动 //YES,慢慢滑动过去,NO,立即滑动。 [leftSwitch setOn:setting animated:YES]; [rightSwitch setOn:setting animated:YES];}
运行项目,当点击其中的一个开关的时候,改变它的状态,另一个开关的状态也随之改变。