【问题标题】: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 感谢您的帮助!

您好, 斯泰利特

【问题讨论】:

    标签: iphone uitabbarcontroller ios4 uitabbar uitabbaritem


    【解决方案1】:

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

    【讨论】:

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