- (void)viewDidLoad {
[superviewDidLoad];
UISwitch -> UIControl -> UIView的
UISwitch是继承UIControl的
创建一个开关控件当然可以用initWithFrame这个方法也是ok的
即使指定他的宽度和高度(或很大,或很小)你打印他的宽度和高度 是一个值51 31
有用的只有他的x y 官方文档上说这个frame的size会被忽视的
UISwitch * mySwitch = [[UISwitch alloc]init];
mySwitch.frame =CGRectMake(100,100, 0, 0);
设置UISwitch的状态这个状态是个bool值默认是NO
mySwitch.on = YES;
设置当开关是开着的时候的颜色
不是圆圈的颜色 是背景色
mySwitch.onTintColor = [UIColor yellowColor];
当开关是关闭状态的时候的背景色
mySwitch.tintColor = [UIColor redColor];
这个是圆圈的颜色无论是在开还是在关闭的状态
mySwitch.thumbTintColor = [UIColor greenColor];
当开关是开的时候的图片 在iOS6下可用 7以后这个属性无效了(官方文档)
mySwitch.onImage = [UIImage imageNamed:@"right"];
当开关是关的时候的图片 在iOS6下可用 7以后这个属性无效了(官方文档)
mySwitch.offImage = [UIImage imageNamed:@"wrong"];
_mySwitch = mySwitch;
[self.view addSubview:mySwitch];
}
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
改变UISwitch的状态第一个参数是要改成什么样的状态 是开的状态 还是关的状态
第二个参数在改变的时候要不要动画
[_mySwitch setOn:!_mySwitch.on animated:YES];
}