设置导航视图控制器的背景
问题描述:
我在故事板中添加了Navigation View Controller
并将它连接到每个ViewController
。设置导航视图控制器的背景
然后我创建的类:
@interface NavigationViewController : UINavigationController
在我有以下代码执行:
- (void)viewDidLoad {
[super viewDidLoad];
self.navigationController.navigationBar.barTintColor = [UIColor colorWithHex:@"#F40116" alpha:1.0];
self.navigationController.navigationBar.translucent = NO;
}
我试图为navigationBar
改变背景红色在所有ViewControllers - 但后台仍是白色。我怎样才能让他们全部红色?
答
我想你正在尝试更改navigationController的navigationController的navigationBar的颜色。
试试这个:
- (void)viewDidLoad {
[super viewDidLoad];
self.navigationBar.barTintColor = [UIColor colorWithHex:@"#F40116" alpha:1.0];
self.navigationBar.translucent = NO;
}
+0
不起作用,因此导航为白色 – Abamazi
答
争取在viewWillAppear中
所有视觉变化- (void) viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
self.navigationBar.tintColor = [UIColor redColor];
}
这应该为你工作。
是你的'colorWithHex:'正确的实现吗?因为这不是UIKit方法..另外,请尝试使用断点来确认您实际上正在实现子类。 – Hamish
是colorWIthHex调用的方法吗?您不应该在NAvigationController子类中使用navigationCOntroller引用 –