将模态呈现的视图控制器关闭到不同的底层视图控制器

Posted

技术标签:

【中文标题】将模态呈现的视图控制器关闭到不同的底层视图控制器【英文标题】:dismiss a modally presented view controller to a different underlying view controller 【发布时间】:2015-05-29 17:01:53 【问题描述】:

我有一个嵌入在导航视图控制器中的 UIViewController。然后,我模态地呈现另一个显示倒计时的视图控制器。一旦倒计时结束,模态视图控制器应该被解除并显示与原始呈现 UIViewController 不同的底层视图控制器。

有谁知道如何在 ios8 中使用 Swift 做到这一点?

【问题讨论】:

【参考方案1】:

有不同的方法来解决这个问题。一种方法是在呈现模态视图控制器时将初始呈现视图控制器替换为所需的底层视图控制器。

NSArray * viewControllers = [self.navigationController viewControllers];
[viewControllers replaceObjectAtIndex:viewControllers.count - 1 withObject:replacementController];

关闭模式只会显示已经交换的不同底层视图控制器。

【讨论】:

【参考方案2】:

当你从堆栈中执行popViewController 时,会有一个处理程序。这将在此函数结束时调用,因此您可以传递一个块,您可以在其中 presentViewController 或更改当前块。

【讨论】:

以上是关于将模态呈现的视图控制器关闭到不同的底层视图控制器的主要内容,如果未能解决你的问题,请参考以下文章

关闭模态视图控制器后呈现不同的视图控制器

关闭模态呈现的视图控制器后切换标签栏控制器视图控制器

如何一次关闭 3 个模态视图控制器?

关闭从模态呈现的视图控制器翻转的视图控制器

关闭时,横向iPad上带有键盘的模态视图控制器会更改位置[重复]

呈现模态视图控制器,使其tableview一点一点下移