问题描述
- 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 请问这怎么再定义下
解决方案
看到你的代码我有点晕了,这多了吧,你的思路是不是有N多个button,然后想让被选择的button与没有被选择的button区别开来?你可以这么实现,
用for循环创建button,用一个数组把button都装到里面,把他们的点击事件都写在一个方法里,把button给传在方法去,在button的点击方法里遍历装button数组,让他显示没有被选择的图片,然后在把传进来的buton设置成选择的图片。完事.......
解决方案二:
您好,能不能把全部的代码贴出来啊
解决方案三:
这种选择感觉用switch来写更直观吧、、