这里是link @luvieere提到的代码。 略高于 @implementation rootviewController
@implementation UINavigationBar (CustomImage)
- (void)drawRect:(CGRect)rect {
UIImage *image = [UIImage imageNamed:@"NavigationBar.png"];
[image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
}
@end
随着iOS 5的这个代码粘贴到到rootview控制器,还有就是做这个的官方途径。 (见iOS Developer Library)
// someplace where you create the UINavigationController
if ([navigationController.navigationBar respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)]) {
UIImage *image = [UIImage imageNamed:@"NavigationBar.png"];
[navigationBar setBackgroundImage:image forBarMetrics:UIBarMetricsDefault];
}
但尽管如此,保留向后兼容旧的代码,除非你真的想抛弃的iOS 4或以下。
我更喜欢这个代码,因为不推荐使用类别。如果你使用它,你会发现它工作正常。 – Steve