unwind segue vs. popViewControllerAnimated



我有一个连接到多个视图控制器的地图视图。

我需要从另一个按钮(而不仅仅是后退按钮)实现"展开",所以我使用了:

self.navigationController?.popViewControllerAnimated(true)

我的问题是:如上所述,我是否应该费心尝试在代码中使用父视图控制器中的prepareForUnwindcanPerformUnwindSegueAction实现展开 + 从视图控制器按住 ctrl 键拖动以退出故事板?如果是这样,为什么?

基本上,

如果您只是dimissing呈现的UIViewController或从导航堆栈中弹出UIViewController,则无需使用展开 segue,尽管它对您执行相同的操作。

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

的情况

然后想一个条件

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

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

所以你需要使用展开segue来克服这个问题。一个示例项目,用于演示使用它的强大功能。

相关内容

  • 没有找到相关文章

最新更新