UINavigationBar:添加导航栏无法更改颜色或标题

时间:2015-10-27 00:26:46

标签: ios objective-c uinavigationbar

我在我的故事板上的界面构建器上添加了一个UINavigationBar,但我想以编程方式更改UINavigationBar的颜色和标题,但它不起作用。这是我的代码:

self.navigationController.navigationBar.tintColor = [UIColor redColor];
    self.navigationItem.title = @"New Title";

你们中的任何人都知道为什么会发生这种情况或解决这个问题吗?

我非常感谢你的帮助。

4 个答案:

答案 0 :(得分:1)

尝试:

self.navigationController.navigationBar.barTintColor = [UIColor redColor];

当您有权访问引用(和预览)时,也可以在界面构建器中完成这些事情

答案 1 :(得分:1)

试试这段代码

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

如果要更改导航栏背景颜色, 使用

self.navigationController.navigationBar.barTintColor

答案 2 :(得分:0)

您还可以使用这些代码更改全局导航栏。

[[UINavigationBar appearance] setBarTintColor:RGB(248, 248, 248)];
[[UINavigationBar appearance] setTitleTextAttributes:@{NSForegroundColorAttributeName:COLOR_NAV_GLOBAL}];

[[UINavigationBar appearance] setBackIndicatorImage:[[UIImage imageNamed:@"nav_back"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
[[UINavigationBar appearance] setBackIndicatorTransitionMaskImage:[[UIImage imageNamed:@"nav_back"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];

答案 3 :(得分:0)

    self.navigationController.navigationBar.barTintColor = [UIColor colorWithRed:33.0/255.0 green:30.0/255.0 blue:94.0/255.0 alpha:1.0];
self.navigationController.navigationBar.titleTextAttributes = [NSDictionary dictionaryWithObject:[UIColor whiteColor] forKey:NSForegroundColorAttributeName];

把这个放在视图中做了加载方法。 第一个用于导航栏色调,第二个用于标题字体颜色。