我的应用程序有几个 viewControllers,对于其中一些,我想在将它们推送到导航堆栈时使用不同的导航栏背景图像。
例如,当我的 mainViewController 加载时,我有这个:
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
NSLog(@"Setting toolbar for iOS 5+");
UIImage * navbarImage = [UIImage imageNamed:@"navbar01.png"];
[[UINavigationBar appearance] setBackgroundImage:navbarImage forBarMetrics:UIBarMetricsDefault];
}
同样,当我的另一个 viewController 被推送到导航堆栈时,我使用与上面相同的代码,除了使用不同的 UIImage (navbar02.png)。
但是,导航栏与我设置的第一个图像没有变化。出现新视图时,有什么方法可以更改 UINavigationBar 背景图像?
谢谢!