【问题标题】:Unable to set color of UIViewController navigation bar无法设置 UIViewController 导航栏的颜色
【发布时间】:2019-07-20 18:14:17
【问题描述】:

我正在向我的视图控制器展示以下代码:

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

【问题讨论】:

  • 您可以尝试在viewWillAppear中设置您的更改
  • 添加此行[self.navigationController.navigationBar setTranslucent:NO]

标签: ios objective-c background uinavigationcontroller uinavigationbar


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 这种工作但由于某种原因现在 self.navigationController.navigationBar.frame.size.height 报告高度是实际大小的两倍。
    • @user3335999 你的意思是设置后高度是实际大小的两倍吗?
    • 是的,设置后高度是实际大小的两倍。该条以正确的大小绘制,但 frame.height 表示其绘制条的大小是其两倍。
    • 问题不应该与此更改有关。也许您正在代码中的其他地方自定义高度?
    猜你喜欢
    • 1970-01-01
    • 2018-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-03
    • 2020-09-12
    相关资源
    最近更新 更多