//给navigationBar设置背景图片
if ([self.navigationController.navigationBar respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)]) {
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"nav_bg.png"]
forBarMetrics:UIBarMetricsDefault];
}
self.navigationController.navigationBar.layer.contents = (id)[UIImage imageNamed:@"nav_bg.png"].CGImage; 解决方案 : [self.navigationController.navigationBar.layer setMasksToBounds:YES]; // 剪切掉多余的背景 解决方案 : self.navigationController.navigationBar.clipsToBounds = YES; 解决方案 : CustomNavBar *navBar = (CustomNavBar *)self.navigationController.navigationBar;
[navBar setBackgroundImage:[UIImage imageNamed:@"navigation_bar_gray.png"] forBarMetrics:UIBarMetricsDefault];
navBar.shadowImage = [[UIImage alloc]init]; // this is what acctually removed the shadow under navigation bar