转至 TabBar 控制器

Posted

技术标签:

【中文标题】转至 TabBar 控制器【英文标题】:Segue to TabBar Controller 【发布时间】:2012-07-29 07:05:53 【问题描述】:

我正在使用以下代码对另一个视图控制器执行 segue:

[self performSegueWithIdentifier:@"BackSegue" sender:self];

当名为 segue 的“BackSegue”的目的地是另一个视图控制器(实际上是其中一个选项卡)时,这可以正常工作,但我需要在底部显示选项卡,因此直接转换到该视图控制器将无法正常工作将没有标签。是否允许/可能转到标签栏控制器?这个特定代码有什么问题还是我正在做的其他事情?

编辑 1

TabBar 控制器没有 .m/.h 文件,并且从未以编程方式声明,但据我所知,我很确定故事板中的 segue 设置正确(与之前设置的方式相同)直接到另一个视图控制器)。

【问题讨论】:

【参考方案1】:

您可以直接转至UITabBarController。只需更改情节提要中的转场即可。当 segue 发生时,它应该加载标签栏控制器,从而加载屏幕底部的标签栏和与标签栏控制器关联的第一个视图控制器的视图。

【讨论】:

这就是我所做的。不幸的是,它工作不正常(它只是崩溃。)我将进一步调试并在此处发布编辑。 哇,它现在运行得很好。你有一种神奇的感觉,不是吗:) 我不知道——我睡觉时代码没有改变。好吧,我唯一能指出的可能是重构问题或类似问题。【参考方案2】:

为了转到标签栏控制器中的特定标签: 您需要添加 selectedIndex=1

为 segue 添加这些代码行:

UITabBarController *loadTabBar = [self.storyboard instantiateViewControllerWithIdentifier:@"TasksAppsTabs"];
        loadTabBar.selectedIndex=1;
        [self presentViewController:loadTabBar animated:YES completion:nil];

【讨论】:

以上是关于转至 TabBar 控制器的主要内容,如果未能解决你的问题,请参考以下文章

核心数据:使用新创建的 ManagedObject 转至细节控制器

隐藏 TabBar 控制器

如何从控制器内部关闭 TabBar 控制器?

导航控制器干扰 TabBar 控制器

TabBar /“更多视图控制器” - 可能有黑色以外颜色的图标?

结合 TabBar 和导航控制器问题