方法一:
可以修改navigationbar的tintcolor属性来达到目的,
self.navigationController.navigationBar.tintColor = [UIColor colorWithRed:200/255.0f green:200/255.0f blue:184/255.0f alpha:1.0f];
方法二:
self.navigationController.navigationBar.layer.contents = (id)[UIImage imageWithColor:youColor].CGImage; (仅使用ios5.0 later)
方法三:
//使用分类方法
UINavigationBar 分类
#import <Foundation/Foundation.h>
@interface UINavigationBar (CustomImage)
- (void)drawRect:(CGRect)rect;
@end
#import "UINavigationBarCategory.h"
@implementation UINavigationBar (CustomImage)
- (void)drawRect:(CGRect)rect {
UIImage *image = [UIImage imageNamed: @"navBar_withoutTitle.png"]; //背景图片
[image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
}
@end
另附:
//根据颜色返回图片
+(UIImage*) imageWithColor:(UIColor*)color
{
CGRect rect = CGRectMake(0.0f, 0.0f, 1.0f, 1.0f);
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [color CGColor]);
CGContextFillRect(context, rect);
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;