ios - 在 iOS7 中更改单个 View 的导航栏背景

标签 ios objective-c ios7 uinavigationbar

要将导航栏背景设置为整个应用程序,我在应用程序委托(delegate)中有以下代码:

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

但是我希望初始 View 有不同的背景,实际上它是相同的,但有一个自定义字体和 Logo init。我试过这样设置:
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"navbar-start.png"] forBarMetrics:UIBarMetricsDefault];

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

最佳答案

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

关于ios - 在 iOS7 中更改单个 View 的导航栏背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22885200/

相关文章:

ios - KeyboardWillShowNotification 调用两次 ios 9

objective-c - 使自定义 UIView 成为自定义 UITableViewCell 中的第一响应者

ios - UITextView keyboardDismissMode Bug

ios - 如何获取 UIViewController 的标题 UILabel

ios - 如何从 ActionSheet 更改 UIButton 的文本

ios - 应用因文件选择而被拒绝

ios - 按位置打印数组显示为空

ios - 我可以将 rootViewController 更改为 ViewController 内的不同 Storyboard View 吗?

ios - swift3 日期到数据,数据到日期转换

OSX El Capitan 上的 Xcode 7.1,iOS 7 模拟器 - 它应该可以工作吗?