UITabbarController 的“完成”按钮隐藏在 UINavigationController 后面

Posted

技术标签:

【中文标题】UITabbarController 的“完成”按钮隐藏在 UINavigationController 后面【英文标题】:UITabbarController's "Done" button hidden behind UINavigationController 【发布时间】:2011-12-18 22:19:23 【问题描述】:

我正在使用 Xcode 4.2 构建一个项目,并且我也在使用 Storyboard。所以基本上,我有一个 UINavigationcontroller 这是我的初始视图,连接到我的“主菜单”视图。在我的“主菜单”中,我有一个链接到标签栏控制器的按钮,该控制器有 20 个标签。因此,会出现“更多”按钮,当单击“更多”按钮时,会出现“编辑”按钮。一切正常,但我唯一的问题是,一旦我单击编辑,配置页面就会向上滑动,并且“完成”按钮隐藏在导航栏后面。无论如何,我可以将配置页面滑到导航栏的前面吗?

另外,我使用了 Xcode 4.2 的新功能。您可以在编辑器工具栏下“嵌入 NavigationController”和“嵌入 TabbarController”。谢谢 !

【问题讨论】:

【参考方案1】:

UITabBarController 的实例只能是窗口的根视图控制器。将UITabBarController 放在另一个容器视图控制器中,例如UINavigationController,可能会导致未定义的行为。

来自UITabBarController Class Reference...

因为 UITabBarController 类继承自 UIViewController 类,标签栏控制器有自己的视图 可以通过 view 属性访问。部署标签栏时 界面,您必须将此视图安装为窗口的根目录。 与其他视图控制器不同,标签栏界面永远不应该 作为另一个视图控制器的子级安装。

【讨论】:

您对我将如何完成这项工作有任何解决方案吗? 基本上,如果您推送到 UITabBarController 的视图,那么您做错了。 UITabBarController 应该是应用启动时显示的第一个控制器。

以上是关于UITabbarController 的“完成”按钮隐藏在 UINavigationController 后面的主要内容,如果未能解决你的问题,请参考以下文章

UINavigationController到UITabBarController

如何在特定索引处显示 UITabBarController?

UITabBarController

UITabBarController简单介绍

UITabBarController的基本原理及使用

如何实时更新 UITabBarController 外观?