unwind segue与popViewControllerAnimated

时间:2016-02-09 19:05:19

标签: swift2 unwind-segue popviewcontrolleranimated

我有一个连接到多个viewControllers的mapview。

我需要实现“放松”。从另一个按钮(而不是后退按钮),所以我使用:

self.navigationController?.popViewControllerAnimated(true)

我的问题是:正如上面的工作,我是否应该在父视图控制器中使用prepareForUnwindcanPerformUnwindSegueAction来实现在代码中实现展开,+从viewController中拖动以在Storyboard中退出?如果是这样,为什么?

1 个答案:

答案 0 :(得分:3)

基本上,如果您只是dimissing呈现UIViewController或从导航堆栈中弹出UIViewController,您就不需要使用展开segue,尽管它对您来说也是如此。

但想想有UINavigationControllers A,B,C 然后是RootViewController R

的情况

然后想一个条件

 (Present) R -> A
 (Push) AR -> XVController
 (Push)XVController -> B
 (Present)BR-> YVContoller
...and so on..

现在,如果你想回到你刚刚启动的项目RootViewController的YVController。没有办法popToRootViewController弹出B UINavigationController的导航堆栈。现在你做什么..使用委托或更改窗口RootViewController 这不是一个好主意

所以你需要使用展开segue来克服这个问题。示例project来展示使用它的力量..