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

Mas*_*ard 9 uistoryboard segue swift

你好我试图从一个模态到标签栏视图控制器,而不会丢失标签栏?我知道问题很简短,但这就是我要问的问题.

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

斯威夫特请:D

vac*_*ama 15

这是我如何做到这一点的例子.在我的设置中,我从选项卡中选择黄色ViewController,然后按Go!它以模态方式呈现白色ViewController.按Exit键返回绿色ViewController.

故事板概述


要进行此设置,请使用展开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
}
Run Code Online (Sandbox Code Playgroud)

然后切换到另一个选项卡,使用self.tabBarController?.selectedIndex = n哪里n是您真正想要去的选项卡的编号.要设置展开segue,您可以control- 从模态视图控制器中的按钮拖动到viewController顶部的退出图标,然后backFromModal从弹出窗口中选择...

从按钮拖动到退出 在此输入图像描述


要么

您可以通过control从模式viewController顶部的viewController图标拖拽到退出图标来设置要以编程方式调用的展开segue ,然后backFromModal从弹出窗口中选择.

在此输入图像描述

然后,转到Document Outline View并单击展开segue

在此输入图像描述

并在右侧的属性检查器中为其指定一个标识符(例如)."returnFromModal"

在此输入图像描述

那你就像这样调用unwind segue:

self.performSegue(withIdentifier: "returnFromModal", sender: self)
Run Code Online (Sandbox Code Playgroud)