使用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];
}
运行项目,当点击其中的一个开关的时候,改变它的状态,另一个开关的状态也随之改变。