我在标签栏中有3个View控制器。 (我的3个图标)。我有另一个视图控制器,可通过按钮从3中的一个访问。我不希望这个额外的视图控制器显示在标签栏上。
单击按钮时,没有任何反应,使用模态segue打开新页面,但标签栏消失。 (即使我创建了从这个新视图控制器到标签栏的关系)。
如何保留标签栏?我真的不想在我的一个视图和另一个视图之间设置一个导航控制器(不在标签栏上),因为它不是真正的分层内容。
模态实际上是正确使用的吗?
答案 0 :(得分:2)
您的观点(3个视图控制器的视图)是否包含标签栏?如果没有,您可以尝试从视图转换到额外视图控制器的视图。
请参阅+[UIView transitionFromView:toView:duration:options:completion:]
答案 1 :(得分:1)
当您选择模态segue时,新视图不会作为当前TabController堆栈的一部分添加。这就是为什么当你进入这个视图时标签栏不可见的原因,这就是Push segue不适合你的原因(你不能推送不属于堆栈的VC)。
从它的声音来看,如果你希望标签栏保持可见/有用但又不想将这个VC添加到标签栏,你真正要说的是这个VC是一个子视图标签栏中最初的3个VC之一。
在这种情况下,您可以从其中一个原始VC中管理“自定义”VC的实例化,并将其添加为子视图?
例如,如果你有:Tab1, Tab2, Tab3
和ExtraView
在Tab2 VC
中您将初始化/分配SubView
并执行:[self addSubView:ExtraView.view];
不幸的是,当然这会丢失Segues,但除非您想继续将Tab2
设置为Storyboard中的嵌套NavigationController,否则我认为这是您最好的选择。