如果有人想知道如何在iOS 7+中实现这一点,这里有一个解决方案(iOS 6也兼容)
在Objective-C中
[self.navigationBar setBackgroundImage:[UIImage new]
forBarMetrics:UIBarMetricsDefault];
self.navigationBar.shadowImage = [UIImage new];
self.navigationBar.translucent = YES;
在swift 3(iOS 10)中
self.navigationBar.setBackgroundImage(UIImage(), for: .default)
self.navigationBar.shadowImage = UIImage()
self.navigationBar.isTranslucent = true
在快速的2分钟内
self.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: .Default)
self.navigationBar.shadowImage = UIImage()
self.navigationBar.translucent = true
由于UINavigationBar
文档中讨论的行为,将导航栏上的translucent
设置为YES
可以实现此目的.我将在此报告相关片段:
如果在具有不透明自定义背景图像的导航栏上将此属性设置为
YES
,则导航栏将对图像应用小于1.0的系统不透明度.