开发者社区 问答 正文

关于ios flag 做按标识钮切换的问题

先定义bool _flag 然后如下图中代码,一组按钮!

_flag = !_flag;
 if (_flag) {
 [_btn1 setBackgroundImage:[UIImage imageNamed:@"buttn2.png"] forState:UIControlStateNormal];
 [_btn2 setBackgroundImage:[UIImage imageNamed:@"buttn1.png"] forState:UIControlStateNormal];
 [_btn3 setBackgroundImage:[UIImage imageNamed:@"buttn1.png"] forState:UIControlStateNormal];
 [_btn4 setBackgroundImage:[UIImage imageNamed:@"buttn1.png"] forState:UIControlStateNormal];
 [_btn5 setBackgroundImage:[UIImage imageNamed:@"buttn1.png"] forState:UIControlStateNormal];
 [_btn6 setBackgroundImage:[UIImage imageNamed:@"buttn1.png"] forState:UIControlStateNormal];
 [_btn7 setBackgroundImage:[UIImage imageNamed:@"buttn1.png"] forState:UIControlStateNormal];
 [_btn8 setBackgroundImage:[UIImage imageNamed:@"buttn1.png"] forState:UIControlStateNormal];
 [_btn9 setBackgroundImage:[UIImage imageNamed:@"buttn1.png"] forState:UIControlStateNormal];
 [_btn10 setBackgroundImage:[UIImage imageNamed:@"buttn1.png"] forState:UIControlStateNormal];
 [_btn11 setBackgroundImage:[UIImage imageNamed:@"buttn1.png"] forState:UIControlStateNormal];
 [_btn12 setBackgroundImage:[UIImage imageNamed:@"buttn1.png"] forState:UIControlStateNormal];
 }
 else
 {
 [_btn1 setBackgroundImage:[UIImage imageNamed:@"buttn1.png"] forState:UIControlStateNormal];
}

是为了,选中按钮后 按钮会显示不一样的图片 好出分开来,但是有个问题,比如说按钮1在显示buttn2的时候,点击别的按钮, 按钮1是会显示buttn1! 但是当再次点击按钮1的时候,按钮1会先显示1次buttn1,再才能达到我想要的效果!中间就会有2次显示buttn1 请问这怎么再定义下

展开
收起
爵霸 2016-03-13 08:05:50 2029 分享 版权
1 条回答
写回答
取消 提交回答
  • 看到你的代码我有点晕了,这多了吧,你的思路是不是有N多个button,然后想让被选择的button与没有被选择的button区别开来?你可以这么实现,
    用for循环创建button,用一个数组把button都装到里面,把他们的点击事件都写在一个方法里,把button给传在方法去,在button的点击方法里遍历装button数组,让他显示没有被选择的图片,然后在把传进来的buton设置成选择的图片。

    2019-07-17 19:01:32
    赞同 展开评论
问答分类:
问答地址: