1、隐藏导航栏
self.navigationController.navigationBarHidden = YES;
还原导航栏
self.navigationController.navigationBarHidden = NO;
2、设置导航栏透明来设置隐藏导航栏
该方法的原理是使用一张图片做为导航栏的背景色,该图片可以是透明的图片,也可以是一种颜色的截图图片
/**
* 添加导航栏透明效果
* 参数:hidden (YES透明效果,NO不透明效果)
*/
- (void)setTransparencyHidden:(BOOL)hidden {
self.navigationController.navigationBar.translucent = hidden;
UIColor * color = [UIColor clearColor];
if (hidden == NO) {
color = [UIColor greenColor];//该颜色可以自定义
}
CGRect rect = CGRectMake(0, 0, self.view.bounds.size.width, 64);
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [color CGColor]);
CGContextFillRect(context, rect);
UIImage * image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
[self.navigationController.navigationBar setBackgroundImage:image forBarMetrics:UIBarMetricsDefault];
self.navigationController.navigationBar.clipsToBounds = hidden;
self.navigationController.navigationBar.alpha = 1;
}