iOS开发 for循环出来的按钮设置选中时的样式(单选)
2022-02-10 本文已影响0人
我是卖报的小行家
需求 创建十个button,点击当前button,当前button改变背景色.其他的没被点击的button的颜色为默认颜色
方法1:
1.准备一个可变数组用来保存for循环出来的button
1.for循环button,设置button的tag
3.button的点击事件,拿到之前的可变数组,对里面的每一个button遍历,遍历的时候判断是否是当前点击的button,是的话,就改变背景颜色,否则把置为初始颜色.
- (void)buttonClick:(UIButton *)sender {
for (UIButton *btn in self.btnArray) {
if (btn.tag == sender.tag) {
btn.backgroundColor = [UIColor grayColor];
} else {
btn.backgroundColor = [UIColor redColor];
}
}
}
方法2:
存储当前点击的button,判断下一次点击的button和上次存储的是不是同一个button,如果是同一个,就不做处理,如果不是就改变当前点击的背景,恢复上一次的背景。
- (void)buttonClick:(UIButton *)sender {
if (self.currentButton == sender) {
//不做处理
} else {
sender.backgroundColor = [UIColor grayColor];
self.currentButton.backgroundColor = [UIColor redColor];
}
self.currentButton = sender;
}