Цвет шрифта заголовка панели навигации не устанавливается с использованием RGB, но подходит для стандартных цветов

#ios #objective-c

#iOS #objective-c

Вопрос:

Это работает. Он правильно устанавливает шрифт и цвет:

 [self.navigationController.navigationBar setTitleTextAttributes:
 [NSDictionary dictionaryWithObjectsAndKeys:
  COA_TITLE_FONT(17.0),
  NSFontAttributeName, [UIColor brownColor], NSForegroundColorAttributeName, nil]];
  

Это делает заголовок белым — или, по крайней мере, так это выглядит на цветном фоне:

 [self.navigationController.navigationBar setTitleTextAttributes:
 [NSDictionary dictionaryWithObjectsAndKeys:
  COA_TITLE_FONT(17.0),
  NSFontAttributeName, [UIColor colorWithRed:62.0f green:116.0f blue:140.0f alpha:1.0f], NSForegroundColorAttributeName, nil]];
  

Я широко использую RGB в IB для установки меток, кнопок и т.д., Но не могу настроить это таким образом. Интересно, не получается ли каким-то образом неправильный оттенок, но выглядит коричневый цвет… ну, коричневый.

Комментарии:

1. все значения должны быть разделены на 255,0

Ответ №1:

Для RGB необходимо использовать десятичные значения. Разделите все ваши значения с плавающей точкой на 255,0. Прямо сейчас вы, по сути, устанавливаете его на чистый белый, поскольку он просто считывает ваши значения > 1 как 1.0f

 [self.navigationController.navigationBar setTitleTextAttributes:
 [NSDictionary dictionaryWithObjectsAndKeys:
  COA_TITLE_FONT(17.0),
   NSFontAttributeName, [UIColor colorWithRed:62.0f/255.0f green:116.0f/255.0f blue:140.0f/255.0f alpha:1.0f], NSForegroundColorAttributeName, nil]];