Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 后续视图控制器上缺少选项卡栏控制器_Ios_Uinavigationcontroller_Uitabbarcontroller_Uistoryboard - Fatal编程技术网

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

Ios 后续视图控制器上缺少选项卡栏控制器,ios,uinavigationcontroller,uitabbarcontroller,uistoryboard,Ios,Uinavigationcontroller,Uitabbarcontroller,Uistoryboard,我在iOS项目中有以下情节提要布局: 布局设置为: A是导航控制器 B是介绍视频(导航栏隐藏为全屏视频) C是条款和条件(显示导航栏以显示标题) D是一个选项卡栏控制器(主屏幕,导航栏在此显示,带有应用程序徽标) E是五个主屏幕选项卡 F&G是两个视图控制器,可从第一个选项卡(E)启动 值得注意的是,将来将有两个附加的视图控制器从F的底部链接,这两个控制器都可以链接回G 问题是F和G视图控制器不显示选项卡栏。但是,它们仍然在顶部显示导航栏 我确实尝试将E(最左边的)视图控制器嵌入到它自己的

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

布局设置为:

  • A是导航控制器
  • B是介绍视频(导航栏隐藏为全屏视频)
  • C是条款和条件(显示导航栏以显示标题)
  • D是一个选项卡栏控制器(主屏幕,导航栏在此显示,带有应用程序徽标)
  • E是五个主屏幕选项卡
  • F&G是两个视图控制器,可从第一个选项卡(E)启动
值得注意的是,将来将有两个附加的视图控制器从F的底部链接,这两个控制器都可以链接回G

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

我确实尝试将E(最左边的)视图控制器嵌入到它自己的导航控制器中,F和G随后显示了选项卡栏,但它随后显示了一个辅助导航栏,而反向导航似乎变得混乱/不同步

我觉得我好像在盯着解决方案看,但现在画的是空白,所以在我完全秃顶之前,我会很感激任何正确方向的想法或指针

Glenn提供帮助后更新

我已经取得了进展。不管出于什么原因,我将第一个选项卡嵌入到它自己的导航控制器中,然后重新创建了segues,这次底部的栏出现了。我想上一次我在嵌入标签之前没有删除segues,所以可能是IDE或重构问题


无论哪种方式,都会取得进展,但我仍然看到后退按钮有问题,就像我看到最初的尝试一样。在F上按back现在返回到B而不是E。我认为这是因为back仍在使用导航控制器A。

取消选择F&G ViewController的按下隐藏底部栏。可能会解决您的问题

您缺少的(我相信是唯一修复它的方法)是将
E
控制器嵌入到新的
UINavigationController
中。因此,每个
E
都有不同的导航控制器。否则,
F
G
以及将由
E
推送的其他控制器(没有自己的导航控制器)将使用tabBarController的导航控制器,这仍然很好

我确实做了一个示例项目来测试它,但我几乎忘记了这种流应该是这样的。我使用相同的屏幕层次/结构

只需记住处理
F
G
相关屏幕的转换(弹出和取消)


对不起,我没有测试项目。我正在使用B到C&D、C到D、E到F和G的推送序列。A->B和D到E之间的链接是关系。我希望这是有意义的。你是如何再次进行
E到F/G?
<代码>性能检查?正确。在这种情况下,你能做的最好的事情(也是对我来说最理想的方式)就是让
B
呈现
C
D
。我已经用这种流程做了很多生产iOS项目,即使是在我目前的全职工作中,我也是这样做的。试试这个。这是我的Main.Storyboard的代码。您可以创建一个新项目。打开Main.Storyboard作为源代码,然后粘贴以下要点:谢谢,这是我在问题中提到的我尝试过的。然而,这种方法似乎在顶部引入了第二个导航栏,然后后退按钮也没有显示在导航栏上——也许我遗漏了什么。你在你的测试应用程序中看到了同样的情况吗?不,嗯,那不应该发生。请参阅我的编辑。再次检查你的序列。将navigationController添加到您的
E
屏幕时,只需单击屏幕顶部的黄色图标,然后单击编辑器->嵌入->navigationController。谢谢-我会再次检查所有内容并与您联系。不过我觉得你是对的,这个选项卡需要嵌入到它自己的NavigationController中,因为在我发布这个问题之前,它已经部分工作了。我可能用错了音阶。稍后我检查完我的应用程序后,会将您的答案标记为已接受。谢谢你的帮助:)好的。没问题。