使用的UITabBarController UINavigationController的带 - 斯威夫特3

问题描述:

我提出这要求与UINavigationController沿着使用UITabBarController的应用程序。我在故事板中做了以下流程。使用的UITabBarController UINavigationController的带 - 斯威夫特3

See image

现在的第一个问题是这个被苹果接受,因为有对同一太多的讨论。

关注的其他物质是可以消除任何UINavigationController,仍然可以得到应用的相同的流量?所需要做的主要事情是在选项卡的所有子选项卡上具有SAME选项卡栏和导航栏。需要指出的一点是,如果我删除第二个UINavigationController,那么我的应用程序在点击后退按钮时直接从子选项卡导航到主视图控制器。

自从现在几小时以来,我一直坚持这一点。我是iOS应用开发新手,从未将任何应用上传到应用商店。任何帮助将非常重视。

编辑:

我把第二导航控制器的答案中所示 - see this flow,但因为我有HomeViewController前一个导航控制器,所以我得到在顶部导航栏,然后一些空的空间低于该值(完全等于顶部导航栏),然后是运行时的页面内容。任何解决方案?

+0

这个抽屉......唯一的办法是使用具有的TabBar一个主视图容器和抽屉,导航等在上面。又是为什么苹果可能不接受应用程序? Oo –

+0

检查http://*.com/questions/27422054/how-to-implement-tab-bar-controller-with-navigation-controller-in-right-way –

+0

@AvijitNagare感谢您的链接:) – Dia

是的,Apple可以接受。

但是,视图层次结构管理不正确。在你的情况下,选项卡栏将成为第二个导航控制器的根视图控制器。

此外,Tab和你正在推动将第二导航控制器的一部分子选项卡。

这就是您回到主视图控制器的原因。

这是很好的做法,以保持导航控制器的每个选项卡来管理它的子选项卡层次结构。

你可以提出从主页视图控制器标签栏控制器或setviewcontroller。

+0

所以你的意思是流程将像标签栏控制器>导航控制器> tab1;相同的标签栏控制器>其他导航控制器> tab2等等? – Dia

+0

@ user7205816。正确。所以每个标签导航。 CON。将管理自己的堆栈。 –

+0

但我在导航栏下面看到空白空间(请参阅编辑的问题),如果我将第二个导航控制器的栏设置为none,那么当我们点击子选项卡上的后退按钮时,它会跳转到主视图控制器 – Dia

首先嵌入标签栏控制器作为这一形象enter image description here和嵌入导航栏控制器作为这一形象enter image description here在最后这看起来像enter image description here

+0

,但在这种情况下,我会需要在所有4个tabcontroller页面中嵌入导航控制器? – Dia

+0

我做的和你所做的一样,但是因为我在HomeViewContreoller之前有一个导航控制器,所以我得到了一个导航栏在顶部,然后是一些空的空间(完全等于顶部导航栏),然后页面运行时内容。任何解决方案? – Dia

+0

是的,你必须嵌入到所有4选项卡控制器页面 –