仍然显示透明NavBar

时间:2018-04-14 06:10:42

标签: ios swift uinavigationbar iphone-x

所以我试图制作一个类似于这个YouTube视频的透明导航栏。 https://www.youtube.com/watch?v=Pjz_KU89FSY

但是出于某些原因,当我按照步骤操作时,我的navBar就像这样

enter image description here

继续进入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()
}

2 个答案:

答案 0 :(得分:1)

这会使您的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
            }

答案 1 :(得分:0)

您需要设置navigationBar的barTint颜色和背景颜色以清除颜色。

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