2.2UISwitch

使用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"];
}










评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值