您的位置:首页 > 产品设计 > UI/UE

IOS5修改UIToolBar 和UINavigationBar 的背景颜色

2011-11-22 21:32 549 查看
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];
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: