如何在iphone中设置特定按钮的背景颜色?

时间:2010-04-21 09:04:43

标签: iphone objective-c uibutton

如何在iPhone中设置特定按钮的背景颜色?

我用过:

btnName1 = [ColorfulButton buttonWithType:UIButtonTypeRoundedRect];
btnName1.frame=CGRectMake(45,146,220,40);
[btnName1 setTitle:@"Continue" forState:UIControlStateNormal]; 
[btnName1 setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; 
[btnName1 setImage:[UIImage imageNamed:@"green.png"] forState:UIControlStateNormal];
UIImage *img =[UIImage imageWithContentsOfFile:[[NSBundle mainBundle]pathForResource:@"greenish" ofType:@"png"]];
UIImage *strechableImage = [img stretchableImageWithLeftCapWidth:12 topCapHeight:0];
[btnName1 setBackgroundImage:strechableImage forState:UIControlStateNormal];
[btnName1 setNeedsDisplay];
[InfoView addSubview:btnName1];

它在iPhone模拟器上正常工作,但在iPod上没有(iPod中没有显示颜色)。

3 个答案:

答案 0 :(得分:5)

myButton.backgroundColor = [UIColor redColor];

或者你想要的任何颜色。此方法继承自UIView

请注意,这仅设置背景颜色......

如果您想更改按钮的外观:

[myButton setBackgroundImage:[UIImage imageNamed:@"MyImage.png"] forState:UIControlStateNormal];

您可以将状态更改为您喜欢的任何状态。

编辑:如果要从界面构建器添加按钮,请务必将按钮Type更改为Custom,然后更改image

答案 1 :(得分:3)

这就是我完成它的方式。

  1. 在.h文件中,将yourButton声明为IBOutlet。

      @property (weak, nonatomic) IBOutlet UIButton *yourButton;
    
  2. 在要更改按钮颜色的.m文件中,使用

    [yourButton setBackgroundColor:[UIColor blueColor]];
    
  3. [yourButton setBackgroundColor:[UIColor colorWithRed:0.80 green:0.80 blue:0.80 alpha:1.0]];
    

    要获得我需要的颜色,请使用this链接。

答案 2 :(得分:0)

我有一个解决方案,当代码是用viewdidload()编写的时候它正常工作,我用于uiview,这就是为什么它不起作用。