Как я могу установить цвет фона определенной кнопки в iphone? - PullRequest
2 голосов
/ 21 апреля 2010

Как установить цвет фона определенной кнопки в 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 ]

5 голосов
/ 21 апреля 2010
myButton.backgroundColor = [UIColor redColor];

Или любой другой цвет.Этот метод унаследован от UIView.

Обратите внимание, что он устанавливает только цвет фона ...

Если вы хотите изменить внешний вид кнопки:

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

Вы можете изменить состояние на любое другое.

РЕДАКТИРОВАТЬ: если вы добавляете кнопку из построителя интерфейса, обязательно измените кнопку Type на Custom и измените image.

3 голосов
/ 12 января 2015

Вот как я это сделал.

  1. В файле .h объявите yourButton как IBOutlet.

      @property (weak, nonatomic) IBOutlet UIButton *yourButton;
    
  2. В файле .m, где вы хотите изменить цвет кнопки, используйте либо

    [yourButton setBackgroundColor:[UIColor blueColor]];
    

или

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

Чтобы получить требуемые цвета, я использую эту ссылку.

0 голосов
/ 14 мая 2010

У меня было решение, когда код написан в viewdidload (), это правильно работает раньше, я использовал для uiview, что это не работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...