导航到特定视图时,导航栏消失

时间:2019-02-04 12:23:21

标签: ios cocoa-touch uinavigationbar

我有一个UINavigationController,我推送并弹出视图,但是在某些视图中,我想从堆栈转到特定的视图,因此我使用此代码。它可以工作,但导航栏消失了。

for controller in self.navigationController!.viewControllers as Array {
        if controller.isKind(of: HomeViewController.self) {
        self.navigationController!.popToViewController(controller, animated: true)
            break
        }
    }

3 个答案:

答案 0 :(得分:0)

在HomeViewController中,您可以尝试以下操作:

    override func viewWillAppear(_ animated: Bool) {
       super.viewWillAppear(animated)
       self.navigationController?.setNavigationBarHidden(false, animated: animated)
   }

答案 1 :(得分:0)

您可以以编程方式显示Idem注释中提到的导航栏,或者,如果您使用的是XCode界面构建器,则可能还需要确保在属性的“模拟指标”区域中为每个视图正确定义了状态栏。视图-适用于非故事板布局。 Simulated Metrics Section of properties in XCode Interface Builder

答案 2 :(得分:0)

您可以尝试回答@ldem提出的建议

但是,您也可以尝试呈现视图而不是弹出

所以改变

self.navigationController!.popToViewController(controller, animated: true)

self.present(controller, animated: true, completion: nil)