前言:其实,利用UIBuuton实现单项勾选框是比较容易的,只要设置不同的背景图片就可以了。
1、定义checkBox:
// 定义checkBox
UIButton *checkBox;
// 加一个背景颜色,方便查看效果
self.view.backgroundColor=[UIColor orangeColor];
checkBox=[UIButton buttonWithType:UIButtonTypeCustom];
checkBox.frame=CGRectMake(50, 100, 20, 20);
checkBox.backgroundColor=[UIColor whiteColor];
// [checkBox setImage:[UIImage imageNamed:@""] forState:UIControlStateNormal]; // 这行代码可以注释掉,加上也没有关系——未选中时的图片
// 选中时的背景图片
[checkBox setImage:[UIImage imageNamed:@"check"] forState:UIControlStateSelected];
[checkBox addTarget:self action:@selector(check:) forControlEvents:UIControlEventTouchUpInside];
checkBox.layer.cornerRadius=5;
checkBox.layer.masksToBounds=YES;
[self.view addSubview:checkBox];
// 记住密码的label
UILabel *label=[[UILabel alloc] initWithFrame:CGRectMake(70, 100, 120, 20)];
label.text=@"记住密码";
label.textAlignment=NSTextAlignmentLeft;
[self.view addSubview:label];
// 触发事件
- (void)check:(UIButton *)btn{
checkBox.selected=!checkBox.selected;
if (checkBox.selected) { // 记住密码的操作
}else{ // 不记住密码的操作
}
}
效果图如下:
ok,功能实现了,是不是很简单?