使用UISwitch创建以及使用开关
一 通过代码来创建UISwitch
1.在.h文件中声明变量
@property(nonatomic,strong) UISwitch *mySwitch;
2.在.m文件中
@synthesize mySwitch;
3.在.m文件的viewDidLoad方法里创建
-(void)viewDidLoad{
[super viewDidLoad];
self.view.backgroundColor = [UIColor whiteColor];//确保视图的背景是白色的
self.mySwitch =[[UISwitch alloc] initWithFrame:CGRectmake(100,100,0,0)];//创建开关
[self.view addSubView:self.mySwitch];//把开关加到view视图
}
二 默认状态下,开关是off的,我们可以通过[self.mySwitch setOn:YES]来将其置为on,可以使用isOn来判断开关现在的状态
if([self.mySwitch isOn]){
//on
}else{
//off
}
三 若想在开关打开或者关闭的时候得到通知消息,就需要利用UISwitch的addTarget:action:forControlEvents:方法加上开关的target
[self.mySwitch addTarget:self
action:@selector(switchIsChanged:)
forControlEvents:UIControlEventValueChanged
];//该方法是在执行UIControlEventValueChange事件的时候被呼叫的,他会在开关控件触发事件的时候传入开关控件的参数
-(void)switchIsChanged:(UISwitch*)paramSender{
if([paramSender isOn]){
}esle{
}
}
四 自定义UISwitch
1.tintcolor(通过以下三个属性来改变一个UISwitch的tintColor,他们的类型都是UIColor)
tintColor//off状态的
thumbTintColor//applied to the little knob of the UISwitch
onTintColor//on状态的
-(CGRect)roundedValuesInRect:(CGRect)paramRect{
paramRect.origin.x = round(CGRectGetMinX(paramRect));
paramRect.origin.y = round(CGRectGetMinY(paramRect));
paramRect.size.width = round(CGRectGetMinWidth(paramRect));
paramRect.size.height = round(CGRectGetMinHeight(paramRect))
return paramRect;
}
-(void)viewDidLoad{
[super viewDidLoad];
self.view.backgroundColor = [UIColor whiteColor];
self.mainSwitch =[[UISwitch alloc]initWithFrame:CGRectZero];
self.mainSwitch.center = self.view.center;
self.mainSwitch.frame = [self roundedValuesInRect:self.mainSwitch.frame];
[self.view addSubView:self.mainSwitch];
self.mainSwitch.tintColor = [UIColor redColor];
self.mainSwitch.onTintColor = [UIColor brownColor];
self.mainSwitch.thumbTintColor = [UIColor greenColor];
}
2.image(两个属性on image 和off image(77*22))
//大致同上
{
self.mainSwitch.onImage = [UIImage imageNamed:@"On"];
self.mainSwitch.offImage = [UIImage imageNamed:@"Off"];
}
一 通过代码来创建UISwitch
1.在.h文件中声明变量
@property(nonatomic,strong) UISwitch *mySwitch;
2.在.m文件中
@synthesize mySwitch;
3.在.m文件的viewDidLoad方法里创建
-(void)viewDidLoad{
[super viewDidLoad];
self.view.backgroundColor = [UIColor whiteColor];//确保视图的背景是白色的
self.mySwitch =[[UISwitch alloc] initWithFrame:CGRectmake(100,100,0,0)];//创建开关
[self.view addSubView:self.mySwitch];//把开关加到view视图
}
二 默认状态下,开关是off的,我们可以通过[self.mySwitch setOn:YES]来将其置为on,可以使用isOn来判断开关现在的状态
if([self.mySwitch isOn]){
//on
}else{
//off
}
三 若想在开关打开或者关闭的时候得到通知消息,就需要利用UISwitch的addTarget:action:forControlEvents:方法加上开关的target
[self.mySwitch addTarget:self
action:@selector(switchIsChanged:)
forControlEvents:UIControlEventValueChanged
];//该方法是在执行UIControlEventValueChange事件的时候被呼叫的,他会在开关控件触发事件的时候传入开关控件的参数
-(void)switchIsChanged:(UISwitch*)paramSender{
if([paramSender isOn]){
}esle{
}
}
四 自定义UISwitch
1.tintcolor(通过以下三个属性来改变一个UISwitch的tintColor,他们的类型都是UIColor)
tintColor//off状态的
thumbTintColor//applied to the little knob of the UISwitch
onTintColor//on状态的
-(CGRect)roundedValuesInRect:(CGRect)paramRect{
paramRect.origin.x = round(CGRectGetMinX(paramRect));
paramRect.origin.y = round(CGRectGetMinY(paramRect));
paramRect.size.width = round(CGRectGetMinWidth(paramRect));
paramRect.size.height = round(CGRectGetMinHeight(paramRect))
return paramRect;
}
-(void)viewDidLoad{
[super viewDidLoad];
self.view.backgroundColor = [UIColor whiteColor];
self.mainSwitch =[[UISwitch alloc]initWithFrame:CGRectZero];
self.mainSwitch.center = self.view.center;
self.mainSwitch.frame = [self roundedValuesInRect:self.mainSwitch.frame];
[self.view addSubView:self.mainSwitch];
self.mainSwitch.tintColor = [UIColor redColor];
self.mainSwitch.onTintColor = [UIColor brownColor];
self.mainSwitch.thumbTintColor = [UIColor greenColor];
}
2.image(两个属性on image 和off image(77*22))
//大致同上
{
self.mainSwitch.onImage = [UIImage imageNamed:@"On"];
self.mainSwitch.offImage = [UIImage imageNamed:@"Off"];
}