UIButton цветовые проблемы - PullRequest
       2

UIButton цветовые проблемы

3 голосов
/ 06 февраля 2011

Как я могу изменить цвет текста на моей кнопке UIB.Вот мой текущий код:

    UIButton *b1 = [[UIButton alloc] init];
    b1.frame = CGRectMake(280,395,30,30);
    [[b1 layer] setCornerRadius:8.0f];
    [[b1 layer] setMasksToBounds:YES];
    [[b1 layer] setBorderWidth:1.0f];
    [[b1 layer] setBackgroundColor:[botCol CGColor]];
    b1.titleLabel.font = [UIFont boldSystemFontOfSize:24];
    [b1 setTitleColor:[UIColor redColor] forState:UIControlEventAllEvents];
    [b1 addTarget:self action:@selector(NextButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
    [b1 setTitle:@">" forState:UIControlStateNormal];
    [self.view addSubview:b1];

Вот как это выглядит (игнорируйте цвет фона и прочее):

enter image description here

Теперь как я могуполучить стрелку, чтобы быть красным?Как вы видите выше, у меня уже есть следующее:

[b1 setTitleColor:[UIColor redColor] forState:UIControlEventAllEvents];

, но оно не работает.

Ответы [ 2 ]

8 голосов
/ 06 февраля 2011

Попробуйте установить отдельные события, такие как:

[b1 setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
1 голос
/ 06 февраля 2011

Причина, по которой исходный код не работал, заключается в том, что вы передаете параметр UIControlEvents вместо параметра UIControlState.

[b1 setTitleColor:[UIColor redColor] forState:UIControlStateNormal];

Это установит цвет для нормального состоянияи, если вы не установите цвета для других состояний, он будет сохраняться во всех состояниях.Чтобы изменить цвет для других состояний, просто вызовите тот же метод с другими состояниями (UIControlStateNormal, UIControlStateHighlighted, UIControlStateDisabled, UIControlStateSelected):

[b1 setTitleColor:[UIColor blueColor] forState:UIControlStateSelected];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...