替换 TabBarController 中选项卡的 ViewController

Posted

技术标签:

【中文标题】替换 TabBarController 中选项卡的 ViewController【英文标题】:Replace ViewController of a tab in a TabBarControlller 【发布时间】:2015-03-17 05:47:02 【问题描述】:

我有一个 TabBarController 和 4 个选项卡,它们各自的 ViewControllers(嵌入在 NavigationController/TableViewController 中)是使用界面创建的。在 ViewController1 上动态添加了多个 BarButton。 必须在单击 BarButton 时替换 Tab 1 的当前视图控制器。我该怎么办?

【问题讨论】:

"Tab 1的当前视图Controller必须被替换"..意思? 当 BarButton 被点击时,第一个标签的当前视图应该变成另一个视图。 【参考方案1】:

这是你应该玩弄的 sn-p,以获得更多的窍门

self.tabBarController.selectedIndex = 1;

这个问题我也回答过,你也可以参考那个答案here

[self.tabbarController setViewControllers:arrayOfNewViewControllers];
self.tabbarController.selectedIndex = 0;

【讨论】:

谢谢。但我不想设置第一个选项卡,而是用其他一些 ViewController 替换第一个选项卡的 ViewController。说最初第一个选项卡的 ViewController 是 ABC 单击 BarButton 它应该更改为其他一些 ViewController XYZ(在同一个选项卡中)。 请检查编辑 谢谢。后来发现。当我尝试使用上面的代码显示静态表格视图(在情节提要中设计)时,视图被替换但表格显示为空白。如果我使用下面的代码,就会显示内容。这是正确的方法吗? UIStoryboard* storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; UIViewController *tableView = [storyboard instantiateViewControllerWithIdentifier:@"MyTableView"];

以上是关于替换 TabBarController 中选项卡的 ViewController的主要内容,如果未能解决你的问题,请参考以下文章

iOS TabbarController 覆盖内容

TabBarController 旋转问题

当通过手势识别器滑动切换到仅点击选项卡时,在 tabbarcontroller 中切换选项卡会给出不同的结果

我应该如何从 TabBarController 呈现模态视图控制器

TabBarController:Going Tab-To-Tab - 致命错误:数组索引超出范围

从任何其他选项卡的视图控制器中弹出第二个选项卡的根视图(默认)