美文网首页
iOS开发 for循环出来的按钮设置选中时的样式(单选)

iOS开发 for循环出来的按钮设置选中时的样式(单选)

作者: 我是卖报的小行家 | 来源:发表于2022-02-10 14:03 被阅读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;
    }
    

    相关文章

      网友评论

          本文标题:iOS开发 for循环出来的按钮设置选中时的样式(单选)

          本文链接:https://www.haomeiwen.com/subject/zvsnkrtx.html