Цель C: Как изменить цвет текста в панели навигации

Я изменил цвет панели навигации с помощью следующего кода

navconFvc.navigationBar.tintColor = [UIColor colorWithHexString:@"faf6f5"];

код работал, но цвет текста также необходимо изменить (см. скриншот ниже). Также затрагивается логотип кнопки обновления справа

enter image description here

та же проблема возникает, если я перейду на другую страницу в стеке

enter image description here

вопрос: Как я могу изменить цвет

  • название текст
  • кнопка Назад текст и
  • цвет значка правой кнопки панели?

после того, как я изменил цвет фона панели навигации?

4 ответов



в iOS 7, просто использовать:

self.navigationController.navigationBar.titleTextAttributes = @{NSForegroundColorAttributeName : [UIColor whiteColor]};

изменить [UIColor whiteColor] с любым цветом текста, который вы хотите


изменить цвет текста:

_navController.navigationBar.titleTextAttributes 
         = @{UITextAttributeTextColor : [UIColor blackColor]};

добавление кнопки обновления и цвет:

UIBarButtonItem *button = [[UIBarButtonItem alloc]
         initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh
         target:self action:@selector(reload)];

[button setTintColor:[UIColor blackColor]];
self.navigationItem.rightBarButtonItem = button;

переменные, которые влияют на фон панели навигации:

_navController.navigationBar.backgroundColor = [UIColor whiteColor];
_navController.navigationBar.tintColor = [UIColor whiteColor];
_navController.navigationBar.translucent = NO;

Я просто собрал простой UIViewController подкласс, который добавляет настраиваемую кнопку Назад, которая позволяет изменять цвет текста. Это в основном добавляет некоторые willAppear/willDisappear логика анимировать кнопку Назад пути UINavigationController делает при использовании leftBarButtonItem собственность. Вы можете расширить это, чтобы также сделать rightBarButtomItem.

https://github.com/typeoneerror/BBCustomBackButtonViewController