uibutton 点击颜色怎么点击修改背景颜色

查看: 3291|回复: 6
精华0在线时间34 小时帖子主题UID297383积分321技术分160 资源分12 分享激情7 博客好友记录相册
实习工程师
县吏, 积分 321, 距离下一级还需 179 积分
UID297383积分321
我这里有7个button,在xib文件里,它们有类似的功能,单击刷新表格,所以这7个button我用一个IBAction 来完成,我想单击后某个button,它的背景颜色改变,其余六个都是相同的空白状态,他们有不同的tag,在xib里已设置好了
部分代码如下,
- (IBAction)change:(UIButton*)button {
& & int const a=button.
& & {if (button.tag == 1) {
& && &&&……
& && &&&[self getData:data];
& && &&&[button setBackgroundImage:[UIImage imageNamed:@&91.jpg&] forState:UIControlStateNormal];& &
& & else if (button.tag == 4) {
& && &&&……
& && &&&[self getData:data];
& && &&&[button setBackgroundImage:[UIImage imageNamed:@&91.jpg&] forState:UIControlStateNormal];& &
& &for(button.tag=1;button.tag&a;button.tag++)
[button setBackgroundImage:nil forState:UIControlStateNormal];
& &&&NSLog(@&tag=%i&,button.tag);
为什么我先单击tag为1的按钮后单击tag为4的按钮,tag为1的按钮背景颜色不会变为空白,tag为4的按钮背景也没发生变化,&&NSLog(@&tag=%i&,button.tag)语句,显示button.tag有分别等于1,2,3过,可为什么button的背景就没变呢?
精华1在线时间1329 小时帖子主题UID66974积分37513技术分20340 资源分805 分享激情7145 博客好友记录相册
高级架构师
内阁大臣, 积分 37513, 距离下一级还需 12487 积分
UID66974积分37513
for循环应该写在最上面吧,你的算法应该是先将所有哦按钮背景图片改为未选,然后再将点击的按钮改为已选。
精华0在线时间85 小时帖子主题UID262475积分738技术分360 资源分18 分享激情110 博客好友记录相册
实习工程师
县丞, 积分 738, 距离下一级还需 262 积分
UID262475积分738
你的button应该要是全局的
精华0在线时间34 小时帖子主题UID297383积分321技术分160 资源分12 分享激情7 博客好友记录相册
实习工程师
县吏, 积分 321, 距离下一级还需 179 积分
UID297383积分321
kangqijun 发表于
for循环应该写在最上面吧,你的算法应该是先将所有哦按钮背景图片改为未选,然后再将点击的按钮改为已选。
如果我的for循环放在最上面的话,for循环结束后button.tag就等于8了,下面的if,else语句就没用了,想问有没有好的解决方法?
精华0在线时间34 小时帖子主题UID297383积分321技术分160 资源分12 分享激情7 博客好友记录相册
实习工程师
县吏, 积分 321, 距离下一级还需 179 积分
UID297383积分321
kangqijun 发表于
for循环应该写在最上面吧,你的算法应该是先将所有哦按钮背景图片改为未选,然后再将点击的按钮改为已选。
谢谢你的帮忙,我将程序改成你的那种思路,但奇怪的是第一次点击按钮,按钮背景改变,但第二次点击相同按钮,该按钮就失效了,通过很笨的办法发现,第二次点击该按钮,假设是tag为1的按钮, int&&a=button.tag里的tag不为1,反而是8,前一次button.tag++的结果,有什么解决方法没?
- (IBAction)change:(UIButton*)button {
& & int&&a=button.
& && &&&for (button.tag=1; button.tag&8; button.tag++) {
& && && &[button setBackgroundImage:nil forState:UIControlStateNormal];
& && && && &NSLog(@&c=%i&,a);}
& & if (a==1) {
& && && &[self getData:data];
& && &&&[button setBackgroundImage:[UIImage imageNamed:@&91.jpg&] forState:UIControlStateNormal];
& && &&&NSLog(@&a=%i&,a);
精华0在线时间34 小时帖子主题UID297383积分321技术分160 资源分12 分享激情7 博客好友记录相册
实习工程师
县吏, 积分 321, 距离下一级还需 179 积分
UID297383积分321
<font color="#3696022 发表于
你的button应该要是全局的
多谢你的回答,但我看了下全局变量好像要在appdelegate里设置,要这么麻烦吗?
精华0在线时间85 小时帖子主题UID262475积分738技术分360 资源分18 分享激情110 博客好友记录相册
实习工程师
县丞, 积分 738, 距离下一级还需 262 积分
UID262475积分738
在你的ViewController里就行
二级精英勋章
二级精英勋章
三级英豪勋章
三级英豪勋章
四级英才勋章
四级英才勋章
五级至尊勋章
五级至尊勋章
六级尊贵勋章
六级尊贵勋章
七级卓越勋章
七级卓越勋章
八级荣誉勋章
八级荣誉勋章
九级光辉勋章
九级光辉勋章
十级贡献勋章
十级贡献勋章
DEVDIV博主
DEVDIV人才
及时将最新信息发给我
通过Email及时将最新的模板和服务发给我。
及时了解我们最新动态。关注我们的微博
官方微博: &&&UIButton点击后改变背景的方法 - 火星人驾到 - 博客园
初始设置:
UIImage *bgImg1 = [UIImage imageNamed:@"Selected.png"];
UIImage *bgImg2 = [UIImage imageNamed:@"Unselected.png"];
[btn setImage:bgImg2 forState:UIControlStateNormal];
[btn setImage:bgImg1 forState:UIControlStateSelected];
然后在button的Action方法改变button状态:
- (IBAction) buttonTouch:(id)sender
UIButton *button = (UIButton *)
button.selected = !button.UIButton 设置圆角 边框颜色 点击回调方法 - 推酷
UIButton 设置圆角 边框颜色 点击回调方法
UIButton *signBtn = [UIButton buttonWithType:UIButtonTypeCustom];
signBtn.frame = CGRectMake(0, 0, 80, 40);
[signBtn.layer setMasksToBounds:YES];
[signBtn.layer setCornerRadius:10.0];
//设置矩形四个圆角半径
[signBtn.layer setBorderWidth:1.0];
//边框宽度
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGColorRef colorref = CGColorCreate(colorSpace,(CGFloat[]){ 1, 0, 0, 1 });&
[signBtn.layer setBorderColor:colorref];
//边框颜色
setTitle:@&
forState:UIControlStateNormal];
//button title
[signBtn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
//title color
[signBtn addTarget:self action:@selector(buttonDonwRecover:) forControlEvents:UIControlEventTouchUpInside];
//button 点击回调方法
signBtn.backgroundColor = [UIColor whiteColor];
- (void)buttonDonwRecover:(id)sender
& & UIButton *btn = (UIButton *)
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致1368人阅读
初始设置: UIImage *bgImg1 = [UIImage imageNamed:@&Selected.png&];
UIImage *bgImg2 = [UIImage imageNamed:@&Unselected.png&];
[btn setImage:bgImg2 forState:UIControlStateNormal];
[btn setImage:bgImg1 forState:UIControlStateSelected];
然后在button的Action方法改变button状态:
- (IBAction) buttonTouch:(id)sender {
UIButton *button = (UIButton *)
button.selected = !button. }
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:370312次
积分:5092
积分:5092
排名:第3816名
原创:88篇
转载:290篇
评论:65条
(1)(1)(31)(34)(74)(26)(10)(12)(28)(6)(10)(17)(1)(1)(3)(3)(20)(9)(1)(1)(1)(1)(1)(25)(4)(38)(5)(15)

我要回帖

更多关于 uibutton背景颜色 的文章

 

随机推荐