Vin*_*ain 7 iphone cocoa objective-c ios uistoryboard
我想做的事情似乎很简单,但我在网上找不到任何答案.我有登录屏幕作为根视图控制器,然后是标签栏控制器,在每个选项卡中我都有一个导航控制器.
我使用了故事板,层次结构如下所述,
Root VC
|
--- tabbar controller
|
---Navigation Controller
|
--- VC1
Run Code Online (Sandbox Code Playgroud)
要求是从VC1导航回根视图控制器.我们怎样才能做到这一点?
我使用“Unwind Segues”解决了问题。
步骤1)您需要的最低限度是为您的目标视图(又名,先前在导航中弹出的视图,并且您想要展开到它)的视图控制器进行子类化,并向其添加一个类似的方法(方法名称可以是您想要的任何内容,但它应该是唯一的,因为整个应用程序中的所有展开转场都列出在一起):
- (IBAction)unwindToViewControllerNameHere:(UIStoryboardSegue *)segue {
//nothing goes here
}
Run Code Online (Sandbox Code Playgroud)
步骤2)现在,在源视图(也称为您想要从中放松的视图)中,只需将segue从按钮或其他任何位置拖到源视图底部的绿色小“EXIT”图标即可。现在应该有一个连接到“- unwindToViewControllerNameHere”的选项
就是这样,当您点击按钮时,您的 Segue 将展开。我们可以移动到任何我们想要的视图控制器,其余的视图控制器将被释放。