需要功能如:这样的几个功能相似的按钮布局,常常出现于我们的应用中。点击某个按钮,该按钮会变为一种明亮颜色。而其他剩下的按钮,会统一为一种暗淡的颜色。
1、我们往往会为这些按钮,统一设置为一个点击事件;
2、其中我们在全局中设置一个中间变量 UIButton *selectBtn ;点击后的按钮我们设置为这个中间变量,然后判断再次点击按钮是否为上次点击过的按钮,假如是的,我们就不要改变;
3、代码方法贴在下方;以免遗忘,留下参考
- (void)buttomBtn:(UIButton *)btn{
//上次点击过的按钮,不做处理
if(selectBtn == btn ) {
SelectIndex = selectBtn.tag - 99;
} else{
//本次点击的按钮设为黑色
[btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
btn.backgroundColor = [ColorTools colorWithHexString:@"#f39700"];
btn.layer.borderColor = [ColorTools colorWithHexString:@"#f39700"].CGColor;
SelectIndex = btn.tag - 99;
//将上次点击过的按钮设为白色
[selectBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
selectBtn.backgroundColor = [UIColor clearColor];
selectBtn.layer.borderColor = [UIColor whiteColor].CGColor;
}
selectBtn= btn;
}
网友评论