透明导航栏仍然显示
Transparent NavBar Still Showing
所以我试图制作一个类似于这个 youtube 视频的透明导航栏。
https://www.youtube.com/watch?v=Pjz_KU89FSY
但是由于某些原因,当我按照这些步骤操作时,我的导航栏变成了这样
它继续进入根VC 真正破坏了我的观点和我的 UI。
这是我在 VC 中控制它的 viewDidLoad。我不知道会有什么问题 tbh
override func viewDidLoad() {
super.viewDidLoad()
self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
self.navigationController?.navigationBar.shadowImage = UIImage()
self.navigationController?.navigationBar.isTranslucent = true
setupVc()
}
您需要将navigationBar的barTint颜色和背景色设置为clear color。
enter coself.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
self.navigationController?.navigationBar.shadowImage = UIImage()
self.navigationController?.navigationBar.isTranslucent = truede here
self.navigationController?.navigationBar.backgroundColor = .clear
self.navigationController?.navigationBar.barTintColor = .clear
这将使您的 Navbar
透明 -
override func viewWillAppear(_ animated: Bool) {
self.navigationController!.navigationBar.setBackgroundImage(UIImage(), for: UIBarMetrics.default)
self.navigationController?.navigationBar.shadowImage = UIImage()
self.navigationController?.navigationBar.isTranslucent = true
self.navigationController!.navigationBar.backgroundColor = UIColor.clear
}
所以我试图制作一个类似于这个 youtube 视频的透明导航栏。 https://www.youtube.com/watch?v=Pjz_KU89FSY
但是由于某些原因,当我按照这些步骤操作时,我的导航栏变成了这样
它继续进入根VC 真正破坏了我的观点和我的 UI。 这是我在 VC 中控制它的 viewDidLoad。我不知道会有什么问题 tbh
override func viewDidLoad() {
super.viewDidLoad()
self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
self.navigationController?.navigationBar.shadowImage = UIImage()
self.navigationController?.navigationBar.isTranslucent = true
setupVc()
}
您需要将navigationBar的barTint颜色和背景色设置为clear color。
enter coself.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
self.navigationController?.navigationBar.shadowImage = UIImage()
self.navigationController?.navigationBar.isTranslucent = truede here
self.navigationController?.navigationBar.backgroundColor = .clear
self.navigationController?.navigationBar.barTintColor = .clear
这将使您的 Navbar
透明 -
override func viewWillAppear(_ animated: Bool) {
self.navigationController!.navigationBar.setBackgroundImage(UIImage(), for: UIBarMetrics.default)
self.navigationController?.navigationBar.shadowImage = UIImage()
self.navigationController?.navigationBar.isTranslucent = true
self.navigationController!.navigationBar.backgroundColor = UIColor.clear
}