如何从子视图中隐藏 NavigationBar?

Posted

技术标签:

【中文标题】如何从子视图中隐藏 NavigationBar?【英文标题】:How to hide NavigationBar from sub view? 【发布时间】:2021-09-30 14:00:35 【问题描述】:

我遇到了 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)

【问题讨论】:

【参考方案1】:

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

navigationController?.navigationBar.isHidden = true

【讨论】:

以上是关于如何从子视图中隐藏 NavigationBar?的主要内容,如果未能解决你的问题,请参考以下文章

如何从子视图中隐藏信息按钮?

如何在 SwiftUI 中隐藏额外的 NavigationBar

NavigationBar 在运行时隐藏视图,但不在 Interface Builder 中

TabBar 和 NavigationBar 视图部分隐藏

当我使用嵌入在 UINavigationController 中的 SWRevealViewController 时如何隐藏 NavigationBar?

关于使用navigationController,前后2个视图控制器navigationBar隐藏属性不同,导致右滑手势失效问题的解决办法