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