自定义导航栏背景图片和颜色

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


[java] view plain copy print ?
  1. UINavigationBar *navBar = self.navigationController.navigationBar;  
  2.   
  3. #define kSCNavBarImageTag 10  
  4. if ([navBar respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)])  
  5. {  
  6.     //if iOS 5.0 and later  
  7.     [navBar setBackgroundImage:[UIImage imageNamed:@"navbar1.png"] forBarMetrics:UIBarMetricsDefault];  
  8. }  
  9. else  
  10. {  
  11.     UIImageView *imageView = (UIImageView *)[navBar viewWithTag:kSCNavBarImageTag];  
  12.     if (imageView == nil)  
  13.     {  
  14.         imageView = [[UIImageView alloc] initWithImage:  
  15.                      [UIImage imageNamed:@"navbar1.png"]];  
  16.         [imageView setTag:kSCNavBarImageTag];  
  17.         [navBar insertSubview:imageView atIndex:0];  
  18.         [imageView release];  
  19.     }  
  20. }  




更改颜色,可以使用tintColor属性
[java] view plain copy print ?
  1. myBar.tintColor = [UIColor greenColor]; 

你可能感兴趣的:(IOS)