后续视图控制器上缺少标签栏控制器

时间:2019-01-31 09:59:59

标签: ios uinavigationcontroller uitabbarcontroller uistoryboard

我在iOS项目中具有以下情节提要布局:

enter image description here

已设置布局,以便:

  • A是导航控制器
  • B是介绍视频(导航栏隐藏为全屏视频)
  • C是条款和条件(显示导航栏以显示标题)
  • D是一个标签栏控制器(主屏幕,其中导航栏显示为带有应用程序徽标的形式)
  • E是五个主屏幕标签
  • F&G是两个可以从第一个选项卡(E)启动的View Controller

值得一提的是,将来在F的底部还会有另外两个View Controller链接,它们都可以链接回G。

问题是F和G视图控制器未显示选项卡栏。但是,它们的确仍在顶部显示导航栏。

我确实尝试将E(最左侧)的View Controller嵌入其自己的导航控制器中,然后F和G确实显示了标签栏,但是随后显示了辅助导航栏,并且后向导航似乎被弄乱了/不同步。

我觉得iIam正盯着解决方案,但目前仍处于空白状态,因此在我完全秃头之前会欣赏正确方向的任何想法或指针

在格伦的帮助下进行更新。.

我取得了进步。无论出于何种原因,我将第一个选项卡嵌入其自己的“导航”控制器中,然后重新创建segues,此时底部栏出现。我认为上一次我没有在嵌入选项卡之前删除过序列文件,所以可能是IDE或重构问题。

无论哪种方式,都可以取得进展,但是当我看到原始的尝试时,我仍然看到后退按钮有问题。现在,按回F键将返回B键,而不是E键。我认为这是因为返回键仍在使用导航控制器A。

2 个答案:

答案 0 :(得分:1)

您所缺少的(我相信,这是解决问题的唯一方法)是将E控制器嵌入到新的UINavigationController中。因此,每个E具有不同的navigationController。否则,FG以及您的E将推送的其他控制器(没有其自己的navigationController)将使用tabBarController的navigationController,这仍然很好。

我确实做了一个示例项目来对其进行测试,但我几乎忘了这就是这种流程。我使用的是同一种屏幕层次结构/结构。

只需记住处理FG相关屏幕的过渡(弹出和关闭)。

enter image description here

答案 1 :(得分:0)

为F&G ViewController取消选中Hide Bottom Bar on Push可能会解决您的问题。

enter image description here