推送 UIViewController 时如何更改 TabBarItens?

Posted

技术标签:

【中文标题】推送 UIViewController 时如何更改 TabBarItens?【英文标题】:how to change TabBarItens when push a UIViewController? 【发布时间】:2012-11-15 01:47:50 【问题描述】:

在我的firstViewController 上,我有一个tabbar,其中包含我的firstViewController 和一个helpViewController

当我点击FirstViewController 中的按钮时,我按下NewViewController。但是,当这个视图被推送时,我想将TabBarController 的内容更改为显示其他视图控制器,例如infoViewControlleroptionViewControllerNewViewController。这可能吗?

第一张图片代表我的应用程序。 FirstViewController 有一个按钮,可以按下NewViewController。当用户单击此按钮时,我希望我的应用程序显示第二张图片中的内容。可以吗?

【问题讨论】:

【参考方案1】:

你应该在一个项目中只有 1 个UITabBarController,它应该是你的 rootViewController。如果你想要不同的标签,那么你应该探索setViewControllers:animated:

【讨论】:

但是如何更改将出现在“UITabBarController”上的选项卡?我的意思是,我应该在我的“NewViewController”上放什么代码? 每个UIViewController 负责提供他的标签。因此,当您设置 viewControllers 时,选项卡将填写。您的问题对于FirstViewControllerNewViewController 非常不清楚。他们是否在UINavigationController 中,您基本上希望FirstViewControllerNewViewController 作为第一个视图推送到UITabBarController 我有 FirstViewController 作为 rootViewController。这个视图有一个NavigationController 和一个TabBarController 显示它自己和一个HelpViewController。当我点击一个按钮时,应用程序会推送NewViewController。在这个 ViewController 上,我想更改 TabBarController 以显示自己,InfoViewControlleroptionsViewController 对不起,我不明白。 UITabBarController 应该是你的根对象,如果你有的话,它不应该嵌入到 UINavigationController 中。听起来您想要一个包含两个 UITabBarController 视图控制器的 UINavigationController,每个控制器都有自己的选项卡。从一个VC 推送到另一个但声明它们具有相同的TabBarController 对我来说没有任何意义。对不起。

以上是关于推送 UIViewController 时如何更改 TabBarItens?的主要内容,如果未能解决你的问题,请参考以下文章

从导航堆栈推送/弹出uiviewcontroller时如何收到警报

如何从导航堆栈中推送/弹出uiviewcontroller时收到警报

推送 UIViewController 时不能在类型上使用实例成员

如何在不使用导航控制器的情况下推送 UIViewController?

从另一个 UIViewController 推送一个 UIViewController - 如何?

如何从模态视图推送 UIViewController