IOS5以下的使用方法:
1.使用xib布局时
// // UINavigationBar.h // ITrafficDemo // // Created by 贾 斌 on 12-10-31. // Copyright 2012 iimob. All rights reserved. // #import <UIKit/UIKit.h> @interface UINavigationBar(CustomImage) - (void)drawRect:(CGRect)rect; @end
//自定义UINavigationBar背景图片 @implementation UINavigationBar (CustomImage) - (void)drawRect:(CGRect)rect { UIImage *image = [UIImageimageNamed:@"top_bg.png"]; [imagedrawInRect:CGRectMake(0,0, self.frame.size.width,self.frame.size.height)]; } @end可以使用这段代码改变nav bar的背景颜色,添加这部分以后不需要修改任何其他地方的代码
IOS5方法:
第一条if语句的作用是防止程序在iOS 5以下的版本中崩溃。
这样,依靠这两段代码,我的UINavigationbar的背景问题在iOS 5及以下版本中得到了完美的解决。
if ([self.navigationController.navigationBar respondsToSelector:@selector( setBackgroundImage:forBarMetrics:)]){ [self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"navigationbar.png"] forBarMetrics:UIBarMetricsDefault]; }