将 segue 展开到尚未呈现的视图控制器?

Posted

技术标签:

【中文标题】将 segue 展开到尚未呈现的视图控制器?【英文标题】:Unwind segue to a view controller which has not been presented yet? 【发布时间】:2014-08-05 17:07:36 【问题描述】:

我有一个带有登录控制器的应用程序。在应用程序中,我有一个设置控制器,用户可以在其中禁用登录控制器,以便他可以自动登录。

这一切都很好,除了一种情况:

用户禁用登录控制器并终止应用程序,稍后他再次启动应用程序,并且由于登录控制器被禁用(在应用程序委托中检查),应用程序启动时没有显示登录控制器(因此不会执行登录控制器的任何代码)。 然后他转到设置视图控制器并再次启用登录。 现在,当他尝试注销时,不会执行 unwind segue。

是否有可能,作为展开转场的目标的视图控制器必须至少出现 1 次,否则展开转场不起作用?

【问题讨论】:

【参考方案1】:

是的。 unwind segue 是唯一一种不实例化视图控制器的 segue,因此您将要使用的控制器必须先前已实例化。不仅如此,它还必须存在于控制器的层次结构中。

【讨论】:

以上是关于将 segue 展开到尚未呈现的视图控制器?的主要内容,如果未能解决你的问题,请参考以下文章

在没有 segue 的情况下展开到特定的视图控制器

如何将 segue 解压到调用它的视图控制器

如何在 Xcode 中展开 segue

如何从 UIAlertView 按钮中解除 segues

从 Unwind segue 触发时,Push segue 不起作用

在两个视图控制器之间展开 Segue 来回 Swift