2013-09-05 7 views
2

Звучит просто, правда? Ну, я искал более дюжины строк поиска и до сих пор не могу найти ответ.Как проверить цвет текста на UIButton?

Чтобы установить цвет мы реализуем следующий код:

[_myUIButton setTitleColor:[UIColor blueColor] forState:UIControlStateNormal]; 

Но как насчет тестирования, чтобы увидеть, что цвет текста кнопки ??? Конечно, это можно сделать, правильно?

не должны код быть что-то вроде этого:

if([_myUIButton.textColor isEqual:[UIColor blueColor]]) 
{ 
    // then true 
} 

Этот код не будет работать с цветом текста заголовка кнопки, но кто-то должен знать, как это может быть сделано.

Пожалуйста, помогите.

+1

Почему вам нужно проверить цвет? Вы не устанавливаете цвет на основе состояний? Почему вы не проверяете состояния вместо цвета? Вероятно, вы ничего не нашли, потому что нет необходимости проверять цвет текста ... – CaptJak

ответ

6
if([button titleColorForState:UIControlStateNormal] isEqual:[UIColor blackColor]]){ 

    } 
+0

Хороший ответ. благодаря –

4

При возникновении сомнений проверьте Apple docs.

- (UIColor *)titleColorForState:(UIControlState)state; 
2

Вы можете использовать UIButton в собственность currentTitleColor:

if ([button.currentTitleColor isEqual:[UIColor blueColor]]) { 
    // Do something 
} 
0

NSLog (@ "цвет% @", [БТН currentTitleColor]); это даст вам ответ 0 0 0 1 для черного цвета означает красный - 0 зеленый - 0, а синий - 0, а альфа - 1, таким образом вы найдете RGB любого цвета, в качестве альтернативы вы можете использовать, если условие соответствует конкретному цвет

0

вы также можете использовать

if([myButton.titleLabel.textColor isEqual:[UIColor blueColor]]){ 
    // your code 
} 
Смежные вопросы