先上效果图:
1.首先需要一张纯透明的png图片设置为navigationBar的背景
[self.navigationController.navigationBarsetBackgroundImage:[UIImageimageNamed:@"未标题-1.png"]forBarMetrics:UIBarMetricsDefault];
2.执行完上面那行代码后发现navigationBar设置为透明了,但是在Bar的下方会有一条“线”。就是下图的样子。
想要实现彻底的透明需要再加几行代码:
//方案一:
if ([self.navigationController.navigationBarrespondsToSelector:@selector( setBackgroundImage:forBarMetrics:)]){
NSArray *list = self.navigationController.navigationBar.subviews;
for (id objin list) {
if ([obj isKindOfClass:[UIImageViewclass]]) {
UIImageView *imageView = (UIImageView *)obj;
imageView.hidden = YES;
}
}
}
//方案二:
[self.navigationController.navigationBar setShadowImage:[UIImage new]];