UINavigationBar不立即更新颜色

时间:2014-11-05 23:54:11

标签: ios objective-c iphone uinavigationcontroller uinavigationbar

我正在尝试在用户导航到其他页面时更改UINavigationBar的颜色。但是,在用户退出页面并再次返回页面之前,我的应用程序不会更改UINavigationBar的颜色。我尝试使用初始化代码来更改-(void)viewDidLoad-(void)viewWillAppear:(BOOL)animated中的颜色。以下是我目前正在尝试更改颜色的方法:

-(void)viewWillAppear:(BOOL)animated{
    [[UINavigationBar appearance] setBarTintColor:[UIColor colorWithRed:0.32f green:0.14f blue:0.32f alpha:1.00f]];
}

1 个答案:

答案 0 :(得分:1)

你应该使用类似的东西:

-(void)viewWillAppear:(BOOL)animated{
    [self.navigationController.navigationBar setBarTintColor:[UIColor colorWithRed:0.32f green:0.14f blue:0.32f alpha:1.00f]];
}

您所拥有的代码会更改所有UINavigationBar个实例的标题栏颜色。它是应用程序范围内的代理。如果您只需要在一个地方更改它,您就不想使用它。