主要涉及到三个问题:
(1)frame的设置:
- 控件的内部固定了其大小:
iOS7之前--79x27
iOS7及之后--51x31
- 可以通过设置其center确定其位置
_switch0.center = CGPointMake(100, 200);
- 可以缩放比例
_switch0.transform = CGAffineTransformMakeScale(0.75, 0.75);
(2)颜色、样式:
- 设置开关开启状态时的颜色,默认为深绿色
@property(nonatomic, retain) UIColor *onTintColor;
_switch0.onTintColor=[UIColor redColor];
- 设置开关按钮颜色,默认为白色
@property(nonatomic, retain) UIColor *thumbTintColor;
_switch0.thumbTintColor=[UIColor yellowColor];
_switch0.thumbTintColor=[UIColor lightGrayColor];
- 设置开关关闭时的颜色,默认为浅灰
@property(nonatomic, retain) UIColor *tintColor;
_switch0.tintColor = [UIColor purpleColor];
- 设置开关开启/关闭状态时的图片(注意:在IOS7后不再起任何作用)
@property(nonatomic, retain) UIImage *onImage;
@property(nonatomic, retain) UIImage *offImage;
(3)点击方法:
- 添加点击事件
[_switch0 addTarget:self.viewController action:@selector(switchAction:) forControlEvents:UIControlEventValueChanged];
- 在该事件中监听其状态
if ([swith isOn]){
preStatus = @"1";//打开
} else {
preStatus = @"0";//关闭
}