我在我的故事板上的界面构建器上添加了一个UINavigationBar,但我想以编程方式更改UINavigationBar的颜色和标题,但它不起作用。这是我的代码:
self.navigationController.navigationBar.tintColor = [UIColor redColor];
self.navigationItem.title = @"New Title";
你们中的任何人都知道为什么会发生这种情况或解决这个问题吗?
我非常感谢你的帮助。
答案 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];
把这个放在视图中做了加载方法。 第一个用于导航栏色调,第二个用于标题字体颜色。