最近工作中用到了这个循环创建的按钮并进行点击切换的颜色的问题,并对它进行了总结。
第一种方法 循环创建btn 的时候将按钮放到数组里面
-(void)btn:(UIButton*)sender{
for (UIButton *btn in _btnArray){
if (btn.tag ==sender.tag) {
[sender setTitleColor:MainRGB forState:UIControlStateNormal];
} else {
[sender setTitleColor:MainRGB forState:UIControlStateNormal];
}
}
}
第二种
设置两个按钮的常量进行存储上次的按钮,如果是上次按钮就不进行处理,如果不是进行变色等一系列操作
-(void)btn:(UIButton*)sender{
if(_btn2== sender) {
//不做处理
} else{
[sender setTitleColor:MainRGB forState:UIControlStateNormal];
[_selectedBtn setTitleColor:[UIColor grayColor] forState:UIControlStateNormal];
}
_selectedBtn= sender;
}第三种 用NSUserDefaults进行存储上次点击的tag值 在点击的事件里面进行切换 退出视图时候清空NSUserDefaults或者顶到默认位置。