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

Posted

技术标签:

【中文标题】在 iOS7 中更改单个视图的导航栏背景【英文标题】:Change navigation bar background for single view in iOS7 【发布时间】:2014-04-05 18:45:49 【问题描述】:

要为整个应用程序设置导航栏背景,我在应用程序委托中有此代码:

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

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

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

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

谢谢你的工作,但是有一个小问题,当你滑动导航而不是点击后退按钮时,图像会立即出现而不是淡入。 理想情况下应该如何工作?在颜色的情况下,我认为 iOS 会自动在两者之间进行动画处理。

以上是关于在 iOS7 中更改单个视图的导航栏背景的主要内容,如果未能解决你的问题,请参考以下文章

导航栏标题颜色在 iOS7 中自行更改

如何使用导航栏在模态视图中更改iOS 7中的UIStatusBarStyle?

模态视图导航栏的位置 - iOS7

自定义iOS7导航栏背景,标题和返回按钮文字颜色

如何在 iOS 7 或 6 中更改导航栏颜色?

转自定义iOS7导航栏背景,标题和返回按钮文字颜色 -- 不错不错!!