开发中设置界面一般会用到的开关控件。比如飞行模式开关,wifi开关。
UISwitch继承于UIControl,有addTarget方法增加其事件。代码创建:
UISwitch *mySwitch = [[UISwitch alloc] initWithFrame:CGRectMake(10, 100, 300, 50)];
// mySwitch.backgroundColor = [UIColor orangeColor];//背景颜色,一般不用,不好看。
[self.view addSubview:mySwitch];
1、onTintColor设置开启颜色;
2、onImage设置开启图片;
3、tintColor设置正常关闭颜色;
4、offImage设置关闭图片;
5、thumbTintColor设置圆形按钮颜色;
代码如下:
//设置开启颜色 图片
mySwitch.onTintColor = [UIColor yellowColor];
mySwitch.onImage = [UIImage imageNamed:@""];
//设置关闭颜色 图片
mySwitch.tintColor = [UIColor redColor];//设置正常关闭颜色
mySwitch.offImage = [UIImage imageNamed:@""];
//设置圆形按钮颜色
mySwitch.thumbTintColor = [UIColor purpleColor];
//代码设置开启、关闭状态 设置YES或者NO,是否使用动画效果
[mySwitch setOn:YES animated:YES];
//获取UISwitch的开启/关闭状态 获取对象的isOn属性,默认是关闭状态 如果isOn==YES则是开启状态,如果isOn==NO则是关闭状态。
if (mySwitch.isOn) {
NSLog(@"开启状态");
} else {
NSLog(@"关闭状态");
}
[mySwitch addTarget:self action:@selector(switchAction:) forControlEvents:UIControlEventValueChanged];
-(void)switchAction:(id)sender
{
UISwitch *switchButton = (UISwitch*)sender;
BOOL isButtonOn = [switchButton isOn];
if (isButtonOn) {
// 开启状态的处理
}else {
//关闭状态的处理
}
}