UIToolBar 三種辦法
方法一
/toolBar background image set based on iOS version
[[UIDevice currentDevice] systemVersion];
if ([[[UIDevice currentDevice] systemVersion] floatValue] > 4.9) {
// iOS 5
UIImage *toolBarIMG = [UIImage imageNamed: @" toolBar_brown.png "];
if ([toolBar respondsToSelector:@selector(setBackgroundImage:forToolbarPosition:barMetrics:)]) {
[toolBar setBackgroundImage:toolBarIMG forToolbarPosition: 0 barMetrics: 0];
}
} else {
// iOS 4
[toolBar insertSubview:[[[UIImageView alloc] initWithImage:[UIImage imageNamed: @" toolBar_brown.png "]] autorelease] atIndex: 0];
}
方法二
// MyToolBar.h
#import <UIKit/UIKit.h>
@interface MyToolBar : UIToolbar {
}
@end
// MyToolBar.m
#import " MyToolBar.h "
@implementation MyToolBar
- ( void)drawRect:(CGRect)rect {
CGContextRef c = UIGraphicsGetCurrentContext();
UIImage *image = [UIImage imageNamed: @" fish.png "];
CGContextDrawImage(c, rect, image.CGImage);
}
@end
方法三
-( void)drawRect:(CGRect)rect
{
UIImage *img = [[[UIImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource: @" ToolbarBk " ofType: @" png "]] autorelease];
[img drawInRect:CGRectMake( 0, 0, self.frame.size.width, self.frame.size.height)];
}
UINavigationBar
在APPDelegate添加
@implementation UINavigationBar (UINavigationBarCategory)
- ( void)drawRect:(CGRect)rect {
UIImage *img = [UIImage imageNamed: @" navbar.png "];
[img drawInRect:rect];
}
@end
if ([self.navigationController.navigationBar respondsToSelector:@selector( setBackgroundImage:forBarMetrics:)]){
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed: @" navbar.png "] forBarMetrics:UIBarMetricsDefault];
}