首页 > 解决方案 > 没有可见导航栏的 iOS 左上返回按钮

问题描述

我正在使用 Xcode 11.1 中的 UIKit 和 Storyboard 开发 iOS 应用程序。

我有一个ViewController(嵌入在 a 中Navigation Controller),其中包含一个 fullscreen MKMapView。我真的很想这样MKMapView占用尽可能多的空间,所以我选择隐藏Navigation Controller. 但是从View Controller我推另一个View Controller,但是由于导航栏是隐藏的,所以这个推View Controller在左上角没有返回按钮,因为前一个View Controller没有/隐藏导航栏。

如何使推送的后退按钮View Controller可见,而不必使其上的导航栏View Controller从可见中被推送?

我不想在第二个 push 上硬编码一些按钮View Controller,因为它也被其他View Controllers 访问,它们有一个可见的导航栏,因此为他们显示了后退按钮

这是一个显示我的设置的小图。 在此处输入图像描述

标签: iosxcodeuiviewcontrolleruinavigationcontrolleruikit

解决方案


将此添加到包含 MKMapView 且没有导航栏的视图控制器中:

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

推荐阅读