后续视图控制器中缺少选项卡栏控制器

Tab Bar Controller missing on subsequent View Controllers

我在 iOS 项目中有以下故事板布局:

布局设置为:

值得注意的是,将来会有两个额外的视图控制器 link 从 F 的底部编辑,它们都可以 link 回到 G。

问题是 F 和 G View Controller 不显示标签栏。但是他们仍然在顶部显示导航栏。

我确实尝试将 E(最左边的)View Controller 嵌入到它自己的 Navigation Controller 中,然后 F 和 G 确实显示了选项卡栏,但是它随后显示了一个辅助导航栏并且后退导航似乎变得一团糟上/不同步。

我感觉好像我正盯着解决方案,但目前一片空白,所以在我完全秃顶之前,我会感谢任何正确方向的想法或指示

在 Glenn 的帮助下更新..

我进步了。无论出于何种原因,我将第一个选项卡嵌入到它自己的导航控制器中,然后重新创建了转场,这次底部栏出现了。我认为上次我在嵌入选项卡之前没有删除 segues,所以可能是 IDE 或重构问题。

无论如何,进步了,但我仍然看到后退按钮有问题,就像我看到最初的尝试一样。现在按 F 返回 B 而不是 E。我认为这是因为返回仍在使用导航控制器 A。

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

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

我做了一个示例项目来测试它,我差点忘了这种流程应该是这样的。我用同款屏幕hierarchy/structure.

请记住处理 FG 相关屏幕的转换(弹出和关闭)。