开发中设置界面通常会用到的开关控件。好比飞行模式开关,wifi开关。 动画
UISwitch继承于UIControl,有addTarget方法增长其事件。代码建立: spa
UISwitch *mySwitch = [[UISwitch alloc] initWithFrame:CGRectMake(10, 100, 300, 50)]; // mySwitch.backgroundColor = [UIColor orangeColor];//背景颜色,通常不用,很差看。 [self.view addSubview:mySwitch];
一、onTintColor设置开启颜色; code
二、onImage设置开启图片; 对象
三、tintColor设置正常关闭颜色; 继承
四、offImage设置关闭图片; 事件
五、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 { //关闭状态的处理 } }