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(0, 0, 480, 44)];
}
@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(0, 0, 480, 44)];
}
@end
for toolbar:
if([navigationBar respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)] ) { //iOS 5 new UINavigationBar custom background [navigationBar setBackgroundImage:image forBarMetrics: UIBarMetricsDefault]; }
浙公网安备 33010602011771号