如何从子视图中隐藏 NavigationBar?

问题描述

我遇到了 NavigationBar 的问题,我不想在子视图(子视图)中使用它,我也使用 setNavigationBarHidden() 方法隐藏但它不起作用。

class VehicleSavingPopupViewController: UIViewController {
@IBOutlet weak var bottomView: UIView!
@IBOutlet weak var backGroundView: UIView!
override func viewDidLoad() {
    super.viewDidLoad()
    animateView()
    backGroundView.addGestureRecognizer(UITapGestureRecognizer(target: self,action: #selector(backGroundViewTapped(_:))))
    
    // Do any additional setup after loading the view.
}
override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)

    navigationController?.setNavigationBarHidden(true,animated: false)
}

private func animateView(){
    UIView.animate(withDuration: 0.5,delay: 0,options: [.transitionCurlDown],animations: { [weak self] in
                    guard let self = `self` else {return}
                    self.bottomView.center.y -= self.bottomView.bounds.height
    },completion: nil)
}

解决方法

我在我自己的 navigationController 类中设置了它,但它也应该适用于您的 viewDidLoad() 方法。

navigationController?.navigationBar.isHidden = true