在名为" ComingHomeButton"的自定义UIButton
课程中,我无法更改背景颜色
我想在不创建图像的情况下进行更改,但如果这是我必须使用的唯一方法。
每次按下按钮时,我也想更改背景颜色。
以下是我所做的不起作用:
UIColor *color = [UIColor colorWithRed:1 green:1 blue:1 alpha:0.5];
[self setBackgroundColor:color];
self指我的" ComingHomeButton"
非常感谢你: - )
答案 0 :(得分:1)
您可以创建一个计数器,然后在点击按钮时循环显示颜色:
-(IBAction)buttonTapped:(id)sender {
if (!counter) {
counter = 0
}
if (counter%3 == 0) {
self.backgroundColor = [UIColor redColor]; //or whatever custom color you want to use
} else if (counter%3 == 1) {
self.backgroundColor = [UIColor blueColor];
} else if (counter%3 == 2) {
self.backgroundColor = [UIColor greenColor];
}
counter++
}
您可以添加任意数量的颜色。 %表示mod函数,确保当counter大于2时,它仍将返回0到2之间的数字。
%之后的数字是要循环的颜色数。
答案 1 :(得分:0)
UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(50, 50, 300, 100)];
btn.backgroundColor = [UIColor blueColor];
[self.view addSubview:btn];
以下代码适用于使用背景按钮添加给定视图的按钮。尝试使用点符号而不是消息传递。
答案 2 :(得分:0)
-(IBAction)buttonTapped:(id)sender {
sender.backgroundColor = [self randomColor];
}
-(UIColor *)randomColor
{
CGFloat red = arc4random() % 255 / 255.0;
CGFloat green= arc4random() % 255 / 255.0;
CGFloat blue= arc4random() % 255 / 255.0;
UIColor *color = [UIColor colorWithRed:red green:green blue:blue alpha:1.0];
return color;
}
我没有测试我不在Mac上的代码,但它应该可以工作。