Я использую UINavigationController
для отображения некоторых контроллеров представления. Мне нужно менять цвет заголовка панели навигации каждый раз, когда я переключаюсь между двумя контроллерами представления. Вот что я делаю сейчас:
Контроллер первого вида
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
self.navigationController.navigationBar.titleTextAttributes =
@{
NSForegroundColorAttributeName: [UIColor whiteColor],
NSFontAttributeName: [UIFont systemFontOfSize:14.0]
};
}
Контроллер второго вида
- (void)viewDidLoad:(BOOL)animated
{
[super viewDidLoad:animated];
self.navigationController.navigationBar.titleTextAttributes =
@{
NSForegroundColorAttributeName: [UIColor blackColor],
NSFontAttributeName: [UIFont systemFontOfSize:14.0]
};
}
При первой загрузке First VC и при нажатии на Second VC цвет заголовка обрабатывается правильно. Проблема здесь в том, что когда я переключаюсь со второго на первый вид контроллера, заголовок остается черным, даже если viewWillAppear
вызывается правильно, и, если я печатаю self.navigationController.navigationBar.titleTextAttributes
, значения, кажется, обновляются (NSForegroundColorAttributeName
- белый ).