原文地址::https://blog.csdn.net/abap_brave/article/details/80278534
相关文章
1、ios开发UI篇—UISwitch----https://www.jianshu.com/p/404eabf8bc2d
2、UISwitch详解----https://www.jianshu.com/p/e6ef6eb04c6a
3、UISwitch的详细使用----https://blog.csdn.net/wcqlwyt/article/details/81355863
一,创建UISwitch开关控件项目
1,打开Xcode,创建名为UISwitch的工程
如何创建工程:Xcode创建HelloWorld项目
2,在ViewController.m的viewDidLoad方法中添加如下代码:
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
UISwitch * swi = [[UISwitch alloc]initWithFrame:CGRectMake(100, 100, 100, 40)];
// 设置控件开启状态填充色
swi.onTintColor = [UIColor greenColor];
// 设置控件关闭状态填充色
swi.tintColor = [UIColor redColor];
// 设置控件开关按钮颜色
swi.thumbTintColor = [UIColor orangeColor];
[self.view addSubview:swi];
}
1
2
3
4
5
6
7
8
9
10
11
12
3,运行代码:
关闭状态:
开启状态:
二,为UISwitch添加触发方法
UISwitch继承于UIControl,继承于UIControl的类都可以通过addTarget方法添加触发事件
1
为UISwitch添加以下代码:
// 当控件值变化时触发changeColor方法
[swi addTarget:self action:@selector(changeColor:) forControlEvents:UIControlEventValueChanged];
1
2
添加changeColor方法:
-(void)changeColor:(UISwitch *)swi{
if(swi.isOn){
self.view.backgroundColor = [UIColor redColor];
}else{
self.view.backgroundColor = [UIColor blueColor];
}
}
1
2
3
4
5
6
7
运行代码:
三,全部代码:
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
UISwitch * swi = [[UISwitch alloc]initWithFrame:CGRectMake(100, 100, 100, 40)];
// 设置控件开启状态填充色
swi.onTintColor = [UIColor greenColor];
// 设置控件关闭状态填充色
swi.tintColor = [UIColor redColor];
// 设置控件开关按钮颜色
swi.thumbTintColor = [UIColor orangeColor];
// 当控件值变化时触发changeColor方法
[swi addTarget:self action:@selector(changeColor:) forControlEvents:UIControlEventValueChanged];
[self.view addSubview:swi];
}
-(void)changeColor:(UISwitch *)swi{
if(swi.isOn){
self.view.backgroundColor = [UIColor redColor];
}else{
self.view.backgroundColor = [UIColor blueColor];
}
}