iphone - 如何更改uinavigationbar背景颜色而不覆盖drawRect :

标签 iphone objective-c xcode uinavigationcontroller uinavigationbar

我正在尝试找到一种方法来为我的应用程序中的不同导航栏设置不同的背景颜色(我有几个 View ,每个 View 都有一个导航栏)。我不打算覆盖drawRect:因为这适用于整个应用程序。此外,使用tintcolor属性没有帮助,因为它仅适用于导航栏项目。

self.navigationController.navigationBar.tintColor = [UIColor greenColor];

我已经用谷歌搜索了几天,但找不到解决这个问题的直接方法。这么简单的事情怎么这么难?不明白为什么它不是 uinavbar 的属性...

请有人帮忙提供一个简单的解决方案...谢谢!

最佳答案

#import <QuartzCore/QuartzCore.h>

self.navigationController.navigationBar.layer.contents = (id)[UIImage imageNamed:@"navigationBarBackgroundImage"].CGImage;

self.navigationController.navigationBar.tintColor = [UIColor orangeColor];

正如您之前提示的那样,没有内容属性。您需要导入quartzframework

关于iphone - 如何更改uinavigationbar背景颜色而不覆盖drawRect :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6902937/

相关文章:

ios - scrollview 在 iPhone 中不滚动

ios - 我应该如何以及为什么应该在 Xcode 中使用 'In-App Purchase Content' 模板?

ios - Overpass API - URL 获取,不适用于 iPhone,适用于 mac

iphone - 如何在检测到用户单击 UIAlertView 上的确定按钮后退出程序

iphone - Xcode 显示构建成功,但 iPhone 上未安装应用程序

ios - 在更改其嵌套的 UILabel 的同时移动 UIView 会导致 View 跳回到初始位置

ios - 将 BOOL 类型的默认值设置为 YES

iphone - 无法在 Uitableview 上禁用多点触控(ios 7)

objective-c - 圆弧 : Memory does not get reclaimed?

ios - 为什么 Xcode 不显示 CoreData 实体和属性的索引选项?