iPhone 自定义修改UINavigationBar的背景

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



posted @ 2012-10-31 16:16  志强思密达  阅读(177)  评论(0编辑  收藏  举报