先上效果图:
1.首先需要一张纯透明的png图片设置为navigationBar的背景
[self.navigationController.navigationBar
setBackgroundImage:[UIImage
imageNamed:@"未标题-1.png"]
forBarMetrics:UIBarMetricsDefault];
2.执行完上面那行代码后发现navigationBar设置为透明了,但是在Bar的下方会有一条“线”。就是下图的样子。
想要实现彻底的透明需要再加几行代码:
if ([self.navigationController.navigationBar
respondsToSelector:@selector( setBackgroundImage:forBarMetrics:)]){
NSArray *list = self.navigationController.navigationBar.subviews;
for (id obj
in list) {
if ([obj isKindOfClass:[UIImageView
class]]) {
UIImageView *imageView = (UIImageView *)obj;
imageView.hidden = YES;
}
}
}
如有疑问,欢迎留言~
时间: 2024-11-04 15:08:25