首先准备导航栏背景图片,大小 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];