0

我创建了一个标签栏控制器,并从一个标签项中将 segue 提供给导航视图控制器。我创建了一些附加到导航控制器的视图控制器。因此,在一个视图控制器中,我不需要选项卡,因此在该控制器中,我编写了隐藏选项卡栏控制器即 self.tabBarController?.tabBar.isHidden = true.

当我单击导航控制器的后退按钮从隐藏的选项卡视图控制器到上一个控制器时,它不会显示以前控制器中的选项卡栏项目。但是我需要所有视图控制器中的选项卡,除了一个视图控制器。为什么不显示选项卡?

这是我的故事板:

在此处输入图像描述

4

2 回答 2

1

您可以在隐藏选项卡之前的 VC 中尝试此操作

 override func viewWillAppear(_ animated:Bool) {
    super.viewWillAppear(animated)
    self.tabBarController?.tabBar.isHidden = false
}
于 2018-07-29T17:28:13.727 回答
0

您可以hidesBottomBarWhenPushed在不需要选项卡的视图控制器中使用。适合你的情况。

let controller = ViewControllerTwo()
controller.hidesBottomBarWhenPushed = true
navigationController?.pushViewController(controller, animated: true)

多一点解释:

self.tabBarController?.tabBar.isHidden = true全局更改了其子控制器堆栈中的self.tabBarController' 属性。hideTabBar

于 2018-07-30T01:20:31.937 回答