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

dismiss a modally presented view controller to a different underlying view controller

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

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

有多种方法可以解决这个问题。一种方法是在呈现模态视图控制器时用所需的底层视图控制器替换初始呈现视图控制器。

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

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

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