UINavigationController 在标签栏控制器之前和标签栏控制器之后?

Posted

技术标签:

【中文标题】UINavigationController 在标签栏控制器之前和标签栏控制器之后?【英文标题】:UINavigation Controller Before Tab Bar Controller and After Tab Bar Controller? 【发布时间】:2014-05-12 06:44:39 【问题描述】:

我有一个以UINavigationController 开头并包含UITableViewController 的应用程序。在UITableViewController 上的事件Tab Bar Controller 被推送,其中包含5 个View Controller,每个UINavigation Controller

Tab Bar 中的NavigationController 位于标签栏之前的UINavigationController 下方。

应用程序的层次结构:

UINavigationController >

  UITableViewController >

     Tab Bar >

        5 View Controllers each with UINavigationController >

             View Controllers inside each ViewController above 

我想要各自的 UINavigationController ,应该替换上面的 UINavigationController ..

【问题讨论】:

你真正想要的。我想你想要,你在那个类上有一个 UITableViewController 和一个标签栏控制器。因此,如果您单击一个标签栏按钮,您将导航到另一个类,并且在该类中您不想要该标签栏。我说的对吗? 不,不像我已经解释了上面的层次结构。 【参考方案1】:

Apple 的 HIG 建议您在 App 级别使用 TabBarController,我不会冒险那样滥用它。

一般来说,使用标签栏来组织应用级别的信息。标签栏非常适合在主应用视图中使用,因为它是一种扁平化信息层次结构并同时提供对多个对等信息类别或模式的访问的好方法。

https://developer.apple.com/Library/ios/documentation/UserExperience/Conceptual/MobileHIG/Bars.html#//apple_ref/doc/uid/TP40006556-CH12-SW52

【讨论】:

以上是关于UINavigationController 在标签栏控制器之前和标签栏控制器之后?的主要内容,如果未能解决你的问题,请参考以下文章

关闭 UINavigationController 并呈现另一个 UINavigationController

iOS:如何在现有 UINavigationController 中打开另一个 UINavigationController?

带有主 UINavigationController 和详细 UINavigationController 的 UISplitViewcontroller

带有 UINavigationController 的 UITabBarController,在 hidesBottomBarWhenPushed 上隐藏 UINavigationController

在 UINavigationController 内的 UITabBarcontroller 中添加 UINavigationController?

UINavigationController 与 AppDelegate 中的 UISegmentedControl 切换 UINavigationController 的 rootviewcontr