1.UISwitch 创建
//创建
UISwitch *switch1 = [[UISwitch alloc]init];
CGSize viewSize = self.view.bounds.size;
switch1.frame = CGRectMake(viewSize.height*0.2, 150, 0, 0);
//使用 initWithFrame 方法初始化开关控件。
CGRect rect = CGRectMake(viewSize.height*0.2, 250, 0, 0);
UISwitch *switch2 = [[UISwitch alloc]initWithFrame:rect];
2.设置选中状态
@property(nonatomic,getter=isOn) BOOL on;
on 属性用于控制开关状态,如果设置为YES 则表示开启,如果为NO 则表示关闭,可以通过isOn 方来判断
//1 设置开关状态
//1.1 setOn 方法
[switch1 setOn:YES];
//1.2 setOn:animated:方法。Animated 参数是布尔类型,若值为 YES 开关改变状态时会显 示动画
[switch2 setOn:YES animated:YES]
//2 判断状态
if ([switch1 isOn]){
NSLog(@"The switch is on.");
} else {
NSLog(@"The switch is off.");
}
3.添加监听事件
如果要在开关控件被打开或关闭时得到通知信息,可用利用 UISwitch 的addTarget:action:forControlEvents:方法加上开关的 target。
// 1. 添加监听
[switch1 addTarget:self action:@selector(switchIsChanged:) forControlEvents:UIControlEventValueChanged];
// 2.事件发生后执行的方法
/**
* switchIsChanged 方法,用于监听UISwitch控件的值改变
*
* @param swith swith 控件
*/
-(void)switchIsChanged:(UISwitch *)swith
{
if ([swith isOn]){
NSLog(@"The switch is on.");
} else {
NSLog(@"The switch is off.");
}
}