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]; }