模态segue后如何保留标签栏?

时间:2012-08-17 03:45:01

标签: iphone ios ios4 storyboard

我在标签栏中有3个View控制器。 (我的3个图标)。我有另一个视图控制器,可通过按钮从3中的一个访问。我不希望这个额外的视图控制器显示在标签栏上。

单击按钮时,没有任何反应,使用模态segue打开新页面,但标签栏消失。 (即使我创建了从这个新视图控制器到标签栏的关系)。

如何保留标签栏?我真的不想在我的一个视图和另一个视图之间设置一个导航控制器(不在标签栏上),因为它不是真正的分层内容。

模态实际上是正确使用的吗?

2 个答案:

答案 0 :(得分:2)

您的观点(3个视图控制器的视图)是否包含标签栏?如果没有,您可以尝试从视图转换到额外视图控制器的视图。

请参阅+[UIView transitionFromView:toView:duration:options:completion:]

答案 1 :(得分:1)

当您选择模态segue时,新视图不会作为当前TabController堆栈的一部分添加。这就是为什么当你进入这个视图时标签栏不可见的原因,这就是Push segue不适合你的原因(你不能推送不属于堆栈的VC)。

从它的声音来看,如果你希望标签栏保持可见/有用但又不想将这个VC添加到标签栏,你真正要说的是这个VC是一个子视图标签栏中最初的3个VC之一。

在这种情况下,您可以从其中一个原始VC中管理“自定义”VC的实例化,并将其添加为子视图?

例如,如果你有:Tab1, Tab2, Tab3ExtraView

Tab2 VC中您将初始化/分配SubView并执行:[self addSubView:ExtraView.view];

不幸的是,当然这会丢失Segues,但除非您想继续将Tab2设置为Storyboard中的嵌套NavigationController,否则我认为这是您最好的选择。