Подтвердить что ты не робот

Внешний вид UITabBarItem -setTitleTextAttributes продолжает вести журнал "state = 1 интерпретируется как UIControlStateHighlighted"?

В моем файле реализации AppDelegate я использую эти строки кода для установки пользовательских шрифтов и цветов tabBarItems:

[[UITabBarItem appearance] setTitleTextAttributes:
[NSDictionary dictionaryWithObjectsAndKeys:
[UIColor grayColor], UITextAttributeTextColor, 
[UIFont fontWithName:@"Arial" size:0.0], UITextAttributeFont, 
nil] forState:UIControlStateNormal];

[[UITabBarItem appearance] setTitleTextAttributes:
[NSDictionary dictionaryWithObjectsAndKeys:
[UIColor whiteColor], UITextAttributeTextColor, 
[UIFont fontWithName:@"Arial" size:0.0], UITextAttributeFont, 
nil] forState:UIControlStateHighlighted];

По какой-то (неизвестной) причине регистрируются следующие сообщения: по одному для каждого tabBarItem:

button text attributes only respected for UIControlStateNormal, UIControlStateHighlighted and UIControlStateDisabled. state = 1 is interpreted as UIControlStateHighlighted.

Не удалось найти что-либо, используя стандартные поисковые системы, поэтому я обращаюсь к вам за помощью. Что я делаю неправильно и как это исправить?

Заранее благодарим за любые предложения.

4b9b3361

Ответ 1

Просто измените значение "UIControlStateHighlighted" на "UIControlStateSelected". Надеюсь, это поможет!

Ответ 2

У меня была такая же проблема, потому что я использовал:

[[UIBarButtonItem appearance] setTitleTextAttributes:
 [NSDictionary dictionaryWithObjectsAndKeys:
  [UIColor whiteColor], UITextAttributeTextColor, nil] forState:UIControlStateSelected];

Я изменил его на:

[[UIBarButtonItem appearance] setTitleTextAttributes:
 [NSDictionary dictionaryWithObjectsAndKeys:
  [UIColor whiteColor], UITextAttributeTextColor, nil] forState:UIControlStateHighlighted];

... и проблема исчезла. Надеюсь, это поможет!