从模态视图切换到标签栏视图控制器而不会丢失标签栏

时间:2015-06-22 23:29:24

标签: swift segue uistoryboard

您好我试图从模态转换到标签栏视图控制器而不会丢失标签栏吗?我知道问题很简短,但这就是我要问的问题。

场景:我有一个标签栏视图控制器,A和B. B模态到C视图控制器。然后我想返回View Controller A。

请快照:D

1 个答案:

答案 0 :(得分:14)

以下是我如何执行此操作的示例。在我的设置中,我从选项卡中选择黄色ViewController ,然后按 Go!,它以模态方式显示白色ViewController 。按退出将返回绿色ViewController

Storyboard overview

要进行此设置,请使用展开segue 返回调用您的viewController。例如,在选项卡的第一个ViewController(调用模态segue的那个)中实现它。

@IBAction func backFromModal(_ segue: UIStoryboardSegue) {
    print("and we are back")
    // Switch to the second tab (tabs are numbered 0, 1, 2)
    self.tabBarController?.selectedIndex = 1
}

然后使用self.tabBarController?.selectedIndex = n切换到另一个标签,其中n是您真正想要转到的标签号。要设置展开segue,您可以从模态视图控制器中的按钮 control -drag到viewController顶部的 exit 图标,然后选择{{1从弹出窗口...

drag from button to Exit enter image description here

你可以设置unwind segue,通过 control 编程调用 - 从模式viewController顶部的 viewController 图标到 exit < / em>图标,然后从弹出窗口中选择backFromModal

enter image description here

然后,转到文档大纲视图并单击展开segue

enter image description here

并在右侧的属性检查器中为其指定标识符(例如backFromModal)。

enter image description here

然后你会像这样调用 unwind segue

"returnFromModal"