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;
}
上一篇下一篇

猜你喜欢

热点阅读