ios 5 UINavigationBar bar,UITool bar 等添加背景图

在ios 5以前修改bar的背景图的方法---是通过类别重写drawRect方法,现在这个方法不可以使用了。

@implementation UINavigationBar (CustomImage)  

- (void)drawRect:(CGRect)rect {  

    UIImage *image = [UIImage imageNamed@"navigationBar_bg.png"];  

    [image drawInRect:CGRectMake(0048044)];  

}  

@end 

在iOS 5中,现在有了新的方法实现:

方法1,

  [navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"navigationBar_bg.png"] forBarMetrics: UIBarMetricsDefault];

    

方法2,并建子类,继承UINavigationBar并重新实现 drawRect方法,然后使用子类

@interface CostomUINavigationBar :UINavigationBar 

@end

@implementation CostomUINavigationBar 

- (void)drawRect:(CGRect)rect {  

    UIImage *image = [UIImage imageNamed@"navigationBar_bg.png"];  

    [image drawInRect:CGRectMake(0048044)];  

}  

@end 


for toolbar:

if([navigationBar respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)] ) { //iOS 5 new UINavigationBar custom background [navigationBar setBackgroundImage:image forBarMetrics: UIBarMetricsDefault]; } 

posted on 2011-10-09 14:34  会走的云  阅读(768)  评论(0)    收藏  举报

导航