对于iOS5.0以下可以使用以下办法:
UINavigationBar+CustomImage.h
#import <UIKit/UIKit.h>
@interface UINavigationBar (CustomImage)
- (void)drawRect:(CGRect)rect;
@end
#import "UINavigationBar+CustomImage.h"
@implementation UINavigationBar (CustomImage)
- (void)drawRect:(CGRect)rect {
UIImage *image = [UIImage imageNamed: @"bg-header.png"];
[image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
}
@end
iOS5以上有相应方法
//iOS 5
UIImage *imgHeaderBg = [UIImage imageNamed: @"bg-header.png"];
if ([self.navigationController.navigationBar respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)]) {
//iOS 5 new UINavigationBar custom background
[self.navigationController.navigationBar setBackgroundImage:imgHeaderBg forBarMetrics: UIBarMetricsDefault];
}