透明导航栏仍然显示

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
            }