【问题标题】:iOS top left back button without visible navigation bar没有可见导航栏的 iOS 左上返回按钮
【发布时间】:2020-03-19 06:58:22
【问题描述】:

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

我有一个包含全屏MKMapViewViewController(嵌入在Navigation Controller 中)。我真的很希望这个MKMapView 占用尽可能多的空间,所以我选择隐藏Navigation Controller 的导航栏。但是从View Controller我推另一个View Controller,但是由于导航栏是隐藏的,所以这个推View Controller在左上角没有后退按钮,因为之前的View Controller没有/隐藏导航栏。

我怎样才能使推送的View Controller 上的后退按钮可见,而不必使正在推送的View Controller 上的导航栏不可见?

我不想在第二个按钮上硬编码某个按钮,按下 View Controller,因为其他 View Controllers 也可以访问它,它们有一个可见的导航栏,因此会为他们显示返回按钮

这是一个显示我的设置的小图表。

【问题讨论】:

    标签: ios xcode uiviewcontroller uinavigationcontroller uikit


    【解决方案1】:

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

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

    【讨论】:

    • 非常感谢,我不敢相信我没有想到这一点。如果其他人实现了这一点,1)不要忘记在 viewWillAppear 中再次将 navigationBarHidden 设置为 true,并且 2)它似乎在动画设置为 true 时效果最好。
    猜你喜欢
    • 1970-01-01
    • 2018-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-06
    相关资源
    最近更新 更多