无法设置 UIViewController 导航栏的颜色

Unable to set color of UIViewController navigation bar

我将使用以下代码展示我的视图控制器:

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 文件。

尝试使用以下代码更改背景颜色:

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

导航控制器对象在应用颜色时创建。像下面这个例子。

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];