在iOS7中更改单个视图的导航栏背景

时间:2014-04-05 18:45:49

标签: ios objective-c ios7 uinavigationbar

要设置整个应用程序的导航栏背景,我在app delegate中有这段代码:

[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"navbar.png"] forBarMetrics:UIBarMetricsDefault];

但是我希望初始视图具有不同的背景,实际上它是相同的但具有自定义字体和徽标init。我尝试了这个设置:

[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"navbar-start.png"] forBarMetrics:UIBarMetricsDefault];

但这适用于整个应用程序的更改。我正在为ios7开发。 如何为初始视图设置不同的背景?

1 个答案:

答案 0 :(得分:3)

导航栏在导航控制器中的所有视图中都是通用的。因此,如果您只想为单个视图应用图像,可以在相关视图控制器的viewWillAppear中包含第二个代码片段,并将图像重置为viewWillDisappear中的原始图像