当你看到了一排按钮,想实现点击选中某个按钮效果时可参考此笔记。
思路:声明一个中间变量来回赋值。第一次点击A按钮时,A按钮选中了,临时的中间按钮被记录为A;第二次点击B按钮时,B按妞被选中了,先把上次的记住的临时按钮A变为了不选中,再把中间按钮又变为B按钮。(如果想要有默认按钮的效果就需要在创建按钮的时候把想要默认的按钮赋予给设置的临时按钮)
一、效果图

二、参考代码
//如果需要设置默认按钮,即再创建按钮的循环里设置按钮的tag,然后在判断tag等于多少的时候进行赋值和改变属性
if (parkingTypeBtn.tag == 170) {
parkingTypeBtn.backgroundColor = [UIColor colorWithHexString:@"#ffe9e0"];
parkingTypeBtn.selected = YES;
self.lastSelect_parkingTypeBtn = parkingTypeBtn;
}else{
parkingTypeBtn.backgroundColor = [UIColor colorWithHexString:@"#f5f5f5"];
parkingTypeBtn.selected = NO;
}
#pragma mark - <按钮点击事件>
- (void)parkingTypeBtnClick:(UIButton *)parkingTypeBtn
{
//self.lastSelect_parkingTypeBtn上个按钮,也为临时按钮
//这里为设置按钮的字体颜色,如果不需要改变按钮的背景颜色,即只需要改变selected的值,不需要再判断临时按钮和当前按钮是否一样
self.lastSelect_parkingTypeBtn.selected = NO;
parkingTypeBtn.selected = YES;
//这里为设置按钮的背景颜色
if (self.lastSelect_parkingTypeBtn == parkingTypeBtn) {
}else{
parkingTypeBtn.backgroundColor = [UIColor colorWithHexString:@"#ffe9e0"];
self.lastSelect_parkingTypeBtn.backgroundColor = [UIColor colorWithHexString:@"#f5f5f5"];
}
self.lastSelect_parkingTypeBtn = parkingTypeBtn;
}