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)的主要内容,如果未能解决你的问题,请参考以下文章