自定义UINavigationBar背景图片和颜色

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

 

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属性code

 

myBar.tintColor = [UIColor greenColor];
相关文章
相关标签/搜索