Невозможно установить цвет панели навигации UIViewController - PullRequest
0 голосов
/ 27 февраля 2019

Я представляю свой контроллер представления со следующим кодом:

UINavigationController* navigation = [[UINavigationController alloc] initWithRootViewController:sessionController];
[self presentViewController:navigation animated:YES completion:^{

}];

из представленного метода контроллера представления "viewDidLoad". Я пытаюсь установить цвет панели навигации с помощью следующего, но яЯ не успешен:

self.navigationController.navigationBar.tintColor = [UIColor blackColor];
self.navigationController.navigationBar.backgroundColor = [UIColor blackColor];
self.navigationController.view.backgroundColor = [UIColor blackColor];
UINavigationBar.appearance.backgroundColor = [UIColor blackColor];
UINavigationBar.appearance.tintColor = [UIColor blackColor];

Цвет панели навигации НЕ изменится с белого.Любой совет будет высоко ценится.

Примечание: я не использую раскадровки или файлы XIB.

Ответы [ 2 ]

0 голосов
/ 27 февраля 2019

Объект контроллера навигации создайте при применении цвета.Как этот пример ниже.

UINavigationController* navigation = [[UINavigationController alloc] initWithRootViewController:sessionController];

navigation.navigationBar.tintColor = [UIColor blackColor];
navigation.navigationBar.backgroundColor = [UIColor blackColor];
navigation.navigationBar.barTintColor = [UIColor blackColor];


[self presentViewController:navigation animated:YES completion:^{

}];

И ниже этого метода все навигационные контроллеры меняют цвет.

UINavigationBar.appearance.backgroundColor = [UIColor blackColor];
UINavigationBar.appearance.tintColor = [UIColor blackColor];
0 голосов
/ 27 февраля 2019

Попробуйте следующий код, чтобы изменить цвет фона:

[self.navigationController.navigationBar setBarTintColor:[UIColor blackColor]];
[self.navigationController.navigationBar setTranslucent:NO];
...