Ios 透明导航栏仍在显示

Ios 透明导航栏仍在显示,ios,swift,uinavigationbar,iphone-x,Ios,Swift,Uinavigationbar,Iphone X,所以我正在尝试制作一个类似于youtube视频的透明导航栏。 然而,由于某些原因,当我遵循这些步骤时,我的导航栏会变成这样 它继续进入rootVC,真正破坏了我的视图和UI。 这是我在VC中控制它的viewDidLoad。我不知道tbh会有什么问题 override func viewDidLoad() { super.viewDidLoad() self.navigationController?.navigationBar.setBackgroundImage(UIIma

所以我正在尝试制作一个类似于youtube视频的透明导航栏。

然而,由于某些原因,当我遵循这些步骤时,我的导航栏会变成这样

它继续进入rootVC,真正破坏了我的视图和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的BarInt颜色和背景颜色设置为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

这将使您的
导航栏
透明-

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
            }

尝试使用ViewWillExample或ViewWillEnglish,只要按此操作,对我有效。
NavigationBar
即使在按下并弹出后仍保持透明。您的代码中似乎没有任何问题。首先,为什么导航栏是纯白色的?它甚至不是半透明的!无论如何,看看其他的事情。从情节提要开始,检查层次结构中是否有
navigationBar
/
navigationItem
。然后我们看看下一步是什么。我的意思是所有的工作都是按程序完成的。你把它放在哪里了?在您的rootVc中,或者在其他位置?包含我试图更改的导航栏的vc将其放入您的自定义导航控制器中,并设置类名,确保从identity Inspector设置类名CustomNavigationController,或者以编程方式执行我所知的所有操作。在您的视频中有acustom导航控制器,他将类名设置为相同。所以一定要检查一下。我想您没有将代码放在正确的位置。