修改navigationbar或UINavigationController 背景颜色

方法一:
可以修改navigationbar的tintcolor属性来达到目的,

self.navigationController.navigationBar.tintColor = [UIColor colorWithRed:200/255.0f green:200/255.0f  blue:184/255.0f alpha:1.0f];


方法二:

self.navigationController.navigationBar.layer.contents = (id)[UIImage imageWithColor:youColor].CGImage;  (仅使用ios5.0 later)


方法三:

 

//使用分类方法

UINavigationBar 分类
#import <Foundation/Foundation.h>


@interface UINavigationBar (CustomImage)

- (void)drawRect:(CGRect)rect;
@end

#import "UINavigationBarCategory.h"


@implementation UINavigationBar (CustomImage)  
- (void)drawRect:(CGRect)rect {  
    UIImage *image = [UIImage imageNamed: @"navBar_withoutTitle.png"];  //背景图片
    [image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)]; 
}  
@end 


另附:

//根据颜色返回图片
+(UIImage*) imageWithColor:(UIColor*)color
{
    CGRect rect = CGRectMake(0.0f, 0.0f, 1.0f, 1.0f);
    UIGraphicsBeginImageContext(rect.size);
    CGContextRef context = UIGraphicsGetCurrentContext();
    
    CGContextSetFillColorWithColor(context, [color CGColor]);
    CGContextFillRect(context, rect);
    
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    
    return image;

你可能感兴趣的:(image,interface,ios5)