如何在不覆盖drawRect的情况下更改uinavigationbar背景颜色:

Tom*_*myG 2 iphone xcode objective-c uinavigationbar uinavigationcontroller

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

self.navigationController.navigationBar.tintColor = [UIColor greenColor];
Run Code Online (Sandbox Code Playgroud)

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

有人请帮忙解决一个简单的问题...谢谢!

Pra*_*n-K 6

#import <QuartzCore/QuartzCore.h>

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

self.navigationController.navigationBar.tintColor = [UIColor orangeColor];
Run Code Online (Sandbox Code Playgroud)

因为你在没有内容属性之前抱怨.你需要导入quartzframework