首先准备导航栏背景图片,大小 320x44, @2x文件大小640x88,iOS5以后更改背景图片较简单
UINavigationBar *navBar = self.navigationController.navigationBar;#define kSCNavBarImageTag 10if ([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];