设置导航视图控制器的背景

Setting the background for Navigation View Controller

我在故事板中添加了 Navigation View Controller 并将其连接到每个 ViewController

然后我创建了 class:

@interface NavigationViewController : UINavigationController

在实现中我有以下代码:

- (void)viewDidLoad {
    [super viewDidLoad];

    self.navigationController.navigationBar.barTintColor = [UIColor colorWithHex:@"#F40116" alpha:1.0];
    self.navigationController.navigationBar.translucent = NO;
}

我试图在所有 ViewController 中将 navigationBar 的背景更改为红色 - 但背景仍然是白色。我怎样才能把它们都变成红色?

我猜你想改变你的 navigationController 的 navigationController 的 navigationBar 的颜色。

试试这个:

- (void)viewDidLoad {
    [super viewDidLoad];
   self.navigationBar.barTintColor = [UIColor colorWithHex:@"#F40116" alpha:1.0];
   self.navigationBar.translucent = NO;
}

请试试这个:

- (void)viewDidLoad {
[super viewDidLoad];

[self.navigationBar setBarTintColor:[UIColor redColor]];
}

确保将 UINavigationController class 设置为您的自定义控制器。

尝试在 viewWillAppear 上进行所有视觉更改

- (void) viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
    self.navigationBar.tintColor = [UIColor redColor];
}

这应该适合你。