【发布时间】:2019-06-24 18:10:56
【问题描述】:
我在 iOS 项目中有以下情节提要布局:
布局是这样设置的:
- A 是导航控制器
- B 是介绍视频(导航栏隐藏为全屏视频)
- C 是条款和条件(显示导航栏以显示标题)
- D 是一个标签栏控制器(主屏幕,导航栏显示在此处,并带有应用徽标)
- E 是五个主屏幕标签
- F 和 G 是两个视图控制器,可以从第一个选项卡 (E) 启动
值得注意的是,将来会有两个额外的视图控制器从 F 的底部链接,它们都可以链接回 G。
问题是 F 和 G 视图控制器不显示标签栏。但是,它们仍然会在顶部显示导航栏。
我确实尝试将 E(最左侧)视图控制器嵌入到它自己的导航控制器中,然后 F 和 G 确实显示了标签栏,但是它随后显示了辅助导航栏,并且后退导航似乎搞砸了/不同步。
我觉得好像我正盯着解决方案,但目前画的是空白,所以在我完全秃顶之前,我会欣赏任何正确方向的想法或指示
在 Glenn 的帮助下更新..
我已经取得了进步。无论出于何种原因,我将第一个选项卡嵌入到它自己的导航控制器中,然后重新创建了 segues,这次出现了底栏。我想上次我在嵌入选项卡之前没有删除 segues,所以可能是 IDE 或重构问题。
无论哪种方式,进展,但我仍然看到后退按钮的问题,因为我看到了最初的尝试。按下 F 现在返回到 B 而不是 E。我认为这是因为 back 仍在使用导航控制器 A。
【问题讨论】:
-
抱歉,我没有测试项目。我正在对 B 到 C 和 D、C 到 Dand E 到 F 和 G 使用 push segues。在 A -> B 和 D 到 E 之间看到的链接是关系。我希望这是有道理的。
-
你还好吗
E to F/G??PerformSegue? -
正确。 performSegue withIdentifier
-
在这种情况下,您能做的最好的事情(对我来说也是理想的方式)是让
B呈现C和D。我已经使用这种流程完成了很多生产 iOS 项目,即使在我目前的全职工作中,我也是这样做的。 -
试试这个。这是我的 Main.Storyboard 的代码。您可以创建一个新项目。打开 Main.Storyboard 作为源代码,然后粘贴此要点:gist.github.com/glennposadas/4103ea81f435529cec760ca93a773997
标签: ios uinavigationcontroller uitabbarcontroller uistoryboard