在 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 中更改单个视图的导航栏背景的主要内容,如果未能解决你的问题,请参考以下文章