自定义UINavigationBar背景图片和颜色

首先准备导航栏背景图片,大小 320x44, @2x文件大小640x88,iOS5以后更改背景图片较简单

 

UINavigationBar *navBar = self.navigationController.navigationBar; 
  
#define kSCNavBarImageTag 10 
if ([navBar respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)]) 
{  
    //if iOS 5.0 and later  
    [navBar setBackgroundImage:[UIImage imageNamed:@"navbar1.png"] forBarMetrics:UIBarMetricsDefault]; 
}  
else  
{  
    UIImageView *imageView = (UIImageView *)[navBar viewWithTag:kSCNavBarImageTag]; 
    if (imageView == nil)  
    {  
        imageView = [[UIImageView alloc] initWithImage:  
                     [UIImage imageNamed:@"navbar1.png"]]; 
        [imageView setTag:kSCNavBarImageTag];  
        [navBar insertSubview:imageView atIndex:0]; 
        [imageView release];  
    }  
} 
 

 更改颜色,可以使用tintColor属性

 

myBar.tintColor = [UIColor greenColor]; 

你可能感兴趣的:(自定义UINavigationBar背景图片和颜色)