IOS5修改UIToolBar 和UINavigationBar 的背景颜色

IOS5修改UIToolBar 和UINavigationBar 的背景颜色   


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];
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值