按下后退按钮后,导航栏图像保持不变

时间:2013-05-01 16:29:26

标签: objective-c uinavigationcontroller navigation pushviewcontroller navigationbar

我正在使用带有菜单的导航控制器。在此菜单中,调用导航控制器以推送其他视图控制器。 我已使用以下代码在菜单中设置导航栏的颜色:

    [self.navigationController.navigationBar setTintColor:[UIColor whiteColor]];

我已在控制器中为导航栏的背景图像设置了不同的图像:

UIImage *barreCinema = [UIImage imageNamed:@"barre concert.png"];

[self.navigationController.navigationBar setBackgroundImage:barreCinema forBarMetrics:UIBarMetricsDefault];

但当我在控制器上,并按下后退按钮时,导航栏的iamge背景在菜单中保持不变..

希望你理解 谢谢!

1 个答案:

答案 0 :(得分:1)

请记住,第一个和第二个视图控制器中的self.navigationcontroller是相同的导航控制器。因此,如果您在第一个视图控制器中设置背景图像,然后在第二个视图控制器中更改图像,一旦弹回图像将保持它设置的最后一个。一个可能的解决方案是添加将背景图像/颜色设置为第一个和第二个视图控制器的viewWillAppear:viewDidAppear:方法的代码。