【问题标题】:UITabbar disappearing even with navigation controller即使使用导航控制器,UITabbar 也会消失
【发布时间】:2018-05-10 10:24:17
【问题描述】:

我在NavigationController 中嵌入了viewController,并将其设置为rootViewController。然后我将TabBarController 连接到NavigationController。我在LessonViewController 中有一个按钮,显示PurchaseViewController,然后在PurchaseViewController 中有一个返回按钮,显示LessonViewController。但是,标签栏仍然存在于PurchaseViewController,所以我勾选了hideBottomBarOnPush,这解决了这个问题,但是当我继续回到LessonViewController时,标签栏已经消失了。

有什么想法吗?

下图是我的故事板现在的样子:

【问题讨论】:

  • 按下后退按钮时不应该推动另一个 LessonViewController,但应该弹出 PurchaseViewController。如果您推送另一个 LessonViewController 旧的 PurchaseViewController 仍将在导航堆栈中。
  • 我已经听取了您的建议并弹出了他的视图控制器!干杯

标签: ios swift uinavigationcontroller uitabbarcontroller


【解决方案1】:

类似于 barb 的代码,我让它工作,同时启用“按下时隐藏底部工具栏”,然后弹出视图控制器:

override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
self.tabBarController?.tabBar.hidden = false

}

【讨论】:

    【解决方案2】:

    你应该这样做,

    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        if segue.identifier == "Your_Identifier" {
            hidesBottomBarWhenPushed = true
            DispatchQueue.main.async { self.hidesBottomBarWhenPushed = false }
        }
    }
    

    它会显示 TabBar 在后退时重新出现。

    【讨论】:

    • 我没有对此进行测试,因为之前的答案之一已经解决了它,我决定弹出视图控制器,但我可能会将它用于其他情况,所以谢谢!
    • @HarryStuart 我已经测试过了,它绝对可以工作
    • 我以后在视图之间切换时会使用它!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-01
    • 2014-04-07
    • 1970-01-01
    • 1970-01-01
    • 2017-10-29
    相关资源
    最近更新 更多