如何在故事板中移回根视图控制器?

Vin*_*ain 7 iphone cocoa objective-c ios uistoryboard

我想做的事情似乎很简单,但我在网上找不到任何答案.我有登录屏幕作为根视图控制器,然后是标签栏控制器,在每个选项卡中我都有一个导航控制器.

我使用了故事板,层次结构如下所述,

Root VC
    |
     --- tabbar controller
          |
           ---Navigation Controller
                |
                 --- VC1
Run Code Online (Sandbox Code Playgroud)

要求是从VC1导航回根视图控制器.我们怎样才能做到这一点?

Vin*_*ain 3

我使用“Unwind Segues”解决了问题。

步骤1)您需要的最低限度是为您的目标视图(又名,先前在导航中弹出的视图,并且您想要展开到它)的视图控制器进行子类化,并向其添加一个类似的方法(方法名称可以是您想要的任何内容,但它应该是唯一的,因为整个应用程序中的所有展开转场都列出在一起):

- (IBAction)unwindToViewControllerNameHere:(UIStoryboardSegue *)segue {
//nothing goes here
}
Run Code Online (Sandbox Code Playgroud)

步骤2)现在,在源视图(也称为您想要从中放松的视图)中,只需将segue从按钮或其他任何位置拖到源视图底部的绿色小“EXIT”图标即可。现在应该有一个连接到“- unwindToViewControllerNameHere”的选项

就是这样,当您点击按钮时,您的 Segue 将展开。我们可以移动到任何我们想要的视图控制器,其余的视图控制器将被释放。