返回所选项目时标签栏不可见

Tab bar not visible on coming back to selected item

我遇到了一个关于标签栏控制器的奇怪问题。我在 main.storyboard 中有一个标签栏控制器工作正常。每个项目都有 5 个不同的故事板参考,我可以看到所有 5 个选项卡和选项卡栏在模拟器中工作正常。

在 select 第三个选项卡上,第一个视图控制器中有一个按钮可以推送到第二个视图控制器,这里我将选项卡栏隐藏在 viewWillAppear 中。然后当我推送到第三个视图控制器时,我再次在 viewWillAppear 中显示标签栏。

现在,当我从第 3 个视图控制器 select 一些其他选项卡项返回到第 3 个选项卡时,即使我写了下面的代码,选项卡栏也不可见:

override func viewWillAppear(_ animated: Bool) {
    tabBarController?.tabBar.isHidden = false
}

终于找到问题了。我在故事板中的一个视图控制器启用了推送视图控制器上的隐藏选项卡栏,导致选项卡栏隐藏在我预期的视图控制器中。在取消选中它并处理源代码本身中的所有 hide/show 选项卡栏后,我能够解决问题。