- alloc init 创建
- frame 设置位置
苹果官方的控件的位置设置
位置x,y的值可以改变
宽度和高度值无法改变 - on 开关设置属性
- setOn animated 是否开启动画
- setOnTintColor 设置开启状态的风格颜色
- setTintColor 设置整体风格颜色
- setThumbTintColor 设置开关圆按钮的风格颜色
- addTarget:(nullable id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents; 增加响应事件
具体使用:
//ViewController.h
@property(strong,nonatomic)UISwitch* mySwitch;
//ViewController.m
- (void)viewDidLoad {
[super viewDidLoad];
_mySwitch = [[UISwitch alloc]init];
_mySwitch.frame = CGRectMake(100, 200, 80, 40);
//开关状态设置属性
_mySwitch.on = YES;
[_mySwitch setOn:YES];
//是否开启动画
[_mySwitch setOn:YES animated:YES];
[self.view addSubview:_mySwitch];
[_mySwitch setOnTintColor:[UIColor orangeColor]];
// [_mySwitch setTintColor:[UIColor blueColor]];
// [_mySwitch setThumbTintColor:[UIColor redColor]];
//向开关控件添加事件
//P1:事件实现对象
//P2:事件方法
//P3:事件响应时的事件类型UIControlEventValueChanged:状态发生变化的时候触发事件
[_mySwitch addTarget:self action:@selector(swChange:) forControlEvents:UIControlEventValueChanged];
}
-(void)swChange:(UISwitch*)sw{
if(sw.on == YES){
NSLog(@"开关状态发生变化,开关开启");
}
else{
NSLog(@"开关状态发生变化,开关关闭");
}
}