IOS5修改UIToolBar 和UINavigationBar 的背景颜色


UIToolBar 三种办法

方法一

/toolBarbackgroundimage setbasedoniOSversion
[[UIDevicecurrentDevice]systemVersion];

if([[[UIDevicecurrentDevice]systemVersion]floatValue]> 4.9){

// iOS5
UIImage*toolBarIMG=[UIImageimageNamed: @" toolBar_brown.png "];

if([toolBarrespondsToSelector:@selector(setBackgroundImage:forToolbarPosition:barMetrics:)]){
[toolBarsetBackgroundImage:toolBarIMGforToolbarPosition: 0barMetrics: 0];
}

} else{

// iOS4
[toolBarinsertSubview:[[[UIImageViewalloc]initWithImage:[UIImageimageNamed: @" toolBar_brown.png "]]autorelease]atIndex: 0];

}

方法二

//MyToolBar.h

#import<UIKit/UIKit.h>
@interfaceMyToolBar:UIToolbar{

}
@end

// MyToolBar.m
#import " MyToolBar.h "
@implementationMyToolBar

-( void)drawRect:(CGRect)rect{
CGContextRefc=UIGraphicsGetCurrentContext();
UIImage*image=[UIImageimageNamed: @" fish.png "];
CGContextDrawImage(c,rect,image.CGImage);
}
@end

方法三

-( void)drawRect:(CGRect)rect
{

UIImage*img=[[[UIImagealloc]initWithContentsOfFile:[[NSBundlemainBundle]pathForResource: @" ToolbarBk "ofType: @" png "]]autorelease];
[imgdrawInRect:CGRectMake( 0, 0,self.frame.size.width,self.frame.size.height)];

}

UINavigationBar

在APPDelegate添加

@implementationUINavigationBar(UINavigationBarCategory)
-( void)drawRect:(CGRect)rect{
UIImage*img=[UIImageimageNamed: @" navbar.png "];
[imgdrawInRect:rect];
}

@end

if([self.navigationController.navigationBarrespondsToSelector:@selector(setBackgroundImage:forBarMetrics:)]){

[self.navigationController.navigationBarsetBackgroundImage:[UIImageimageNamed: @" navbar.png "]forBarMetrics:UIBarMetricsDefault];
}


你可能感兴趣的:(NavigationBar)