在导航选项卡栏中应用透明图像时。它变成白色而不是透明的。
self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
self.navigationController?.navigationBar.shadowImage = UIImage()
self.navigationController?.navigationBar.tintColor = UIColor.white
答案 0 :(得分:0)
确保某些内容在导航栏下方,以使它不会只是透明地显示白色背景。您将需要将uiviews拖到它下面,然后添加布局约束。否则,请确保您未更改其他地方导航栏的颜色。
答案 1 :(得分:0)
使用此扩展名可以使导航栏更加透明。
extension UINavigationController {
func transparant() {
self.navigationBar.setBackgroundImage(UIImage(), for: UIBarMetrics.default)
self.navigationBar.shadowImage = UIImage()
self.navigationBar.isTranslucent = true
self.view.backgroundColor = UIColor.clear
}
}
答案 2 :(得分:0)
如果您使用的是Navigation Controller,请尝试以下操作:
self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
self.navigationController?.navigationBar.shadowImage = UIImage()
title = "Some Title"
如果您使用的是UINavigationBar,请尝试以下操作:
@IBOutlet var navBarOutlet: UINavigationBar!
override func viewDidLoad() {
super.viewDidLoad()
// navigatin bar transparent
navBarOutlet.setBackgroundImage(UIImage(),for:.default)
navBarOutlet.shadowImage=UIImage()
navBarOutlet.topItem?.title = "Some Title"
}