如何更改动态生成按钮的背景颜色?

Posted

技术标签:

【中文标题】如何更改动态生成按钮的背景颜色?【英文标题】:How to change background colour on dynamic generated buttons? 【发布时间】:2013-11-23 15:37:57 【问题描述】:

为了生成按钮,我使用了 For Loop。

for(int i=0;i<=5;i++)

 

btnphoto=[[UIButton alloc]initWithFrame:CGRectMake(10,(30*i)+110,50,20)];   

[btnphoto setTitle:@"Photo" forState:UIControlStateNormal];   

[btnphoto setBackgroundColor:[UIColor redColor]]; 

[btnphoto addTarget:self action:@selector(buttonPressPickColor:)
               forControlEvents:UIControlEventTouchUpInside]; 

btnphoto.tag=100 + i;

[self.view addSubview:btnphoto];


如何使用TAG或在物体上设置标签然后改变颜色。

【问题讨论】:

【参考方案1】:

使用开关盒来改变不同按钮的颜色。

switch(i)
case 0:
[btnphoto setBackgroundColor:[UIColor redColor]]; 
break;

case1:
[btnphoto setBackgroundColor:[UIColor greenColor]]; 
break;
...

喜欢这个。

【讨论】:

我也用过开关盒..但它只改变最后一个按钮的颜色。 可能你忘了放break;有条件的。 如果我有五个按钮,你给出的答案是正确的……但是如果我不知道那里会有多少个按钮呢??? ***.com/questions/20163811/… 我的确切问题是这个 //如果可以请帮帮我。 好的,在这种情况下,您可以编写类似 [UIColor colorWithRed: i green:i blue:i alpha:1] 的内容,确保 i 小于 255。或者您可以只修改 r g b 的值对于不同的 i。

以上是关于如何更改动态生成按钮的背景颜色?的主要内容,如果未能解决你的问题,请参考以下文章

Android动态生成按钮样式

如何在 Kivy 中动态更改标签背景颜色

在 ionic 3 中动态更改背景颜色

如何为 QPushButton 的背景颜色设置动画(动态更改按钮颜色)

如何在 windows phone 8.1 应用程序中使用 MenuFlyout 更改动态生成按钮的内容

Android怎么动态更改actionbar的背景颜色