如何同时显示两个视图控制器?

Ahm*_*d F 5 uiviewcontroller ios presentviewcontroller swift

我的目标是提出一种视图控制器,而不直接将其丢弃presentingViewController

为了更加清楚,请考虑以下示例:

参考此故事板:

在此处输入图片说明

假设第一个黑色视图控制器是第一个(初始)控制器,则它应该显示第三个白色视图控制器;问题是白色视图控制器应撤消到第二个橙色视图控制器,而不是黑色视图控制器,因此其行为应类似于:

  • 黑色 VC 呈现 白色 VC。
  • VC 驳回 VC。
  • VC 驳回 VC。

如何应用这种行为?

备注:没有导航控制器,应该存在/关闭,而不是推/弹出。

Ahm*_*d F 6

这可以通过让第一个黑色视图控制器呈现第二个橙色视图控制器,然后橙色视图控制器应该呈现第三个白色视图控制器来实现。

但这出现了一个问题:最终用户会清楚地注意到有两个视图控制器已经依次呈现。为了解决这个问题,您需要做一个非常简单的技巧,即从第一个视图控制器截取屏幕截图并将其传递给第二个视图控制器以在呈现第三个视图控制器的同时显示它。

您可以检查此存储库以了解它是如何完成的(Swift 3)。

最终输出将是:

在此处输入图片说明