UITabbarController: 有啥方法可以切换 Tabbar 的 Tabbar Item(s)

Posted

技术标签:

【中文标题】UITabbarController: 有啥方法可以切换 Tabbar 的 Tabbar Item(s)【英文标题】:UITabbarController:Is there any way to Switch Tabbar Item(s) of TabbarUITabbarController: 有什么方法可以切换 Tabbar 的 Tabbar Item(s) 【发布时间】:2010-07-30 16:49:34 【问题描述】:

场景是,我是一个 TabbarViewController,它包含 Tab A, B, C, D。用户单击 Tab:B 后,而不是 Tab A, B, C, D,我想将 E, F, G 显示为 Tabbar 上的 Tabbar 项。

有没有办法切换Tabbar Item Set? 我是ios的新手。谢谢!

编辑: 我也试过修改self.tabbarcontroller.tabbar.items,但是遇到runtime异常,说tabbar.items不能直接修改。

\编辑 找到了解决这种情况的方法:使用导航控制器,并推送一个使用A,B,C,D的TabbarView,如果B被触摸,则将另一个TabbarView推送到导航控制器 @joelm 感谢您的帮助!

您好, 斯泰利特

【问题讨论】:

【参考方案1】:

UITabBarController 维护着一个 ViewController 数组,它们对应于用户看到的按钮。您可以更改控制器,但请注意,这将导致 tabBarController 重新加载所有可能不是您想要的控制器。

【讨论】:

如何更换控制器?之后我可以把它们改回来吗?或者有什么方法可以让我隐藏带有项目 A、B、C、D 的标签栏并在需要时再次显示它们? 我强烈建议你阅读 UITabBarController 的文档,它告诉你不能修改标签栏,它仅供参考。但是您可以根据需要随时更换视图控制器,并且可以随时隐藏标签栏。只需在 viewControllers 属性中替换一个 viewController。 “根视图”不能覆盖标签栏本身。 (如果是这样,您将永远无法打开标签栏。)所以我建议添加一个覆盖标签栏的新视图,然后当您想再次显示标签栏时可以将其删除。 找到了解决这种情况的方法:使用导航控制器,并推送一个使用A,B,C,D的TabbarView,如果B被触摸,则将另一个TabbarView推送到导航控制器谢谢乔尔姆

以上是关于UITabbarController: 有啥方法可以切换 Tabbar 的 Tabbar Item(s)的主要内容,如果未能解决你的问题,请参考以下文章

有啥方法可以在 ROR 中导出(生成)可编辑的 PDF?

GLUT:有啥方法可以在事件循环中添加“文件可读”挂钩?

有啥方法可以使用 IOCP 来通知套接字何时可读/可写?

有啥方法可以确定 Windows 中可移动驱动器的速度吗?

有啥方法可以直接从命令行查看可用于 Visual Studio 的 Nuget 包源

字符串有啥区别?和字符串! (创建可选变量的两种方法)?