首页 > 解决方案 > 一个新的 NSViewController 的 segue 应该在覆盖整个 Window 的旧的顶部显示新的

问题描述

我正在将游戏从 iOS 移植到 MacOS。我知道 Apples Catalyst 是一种选择,但我不想走这条路,因为如果它是由触摸或鼠标控制的,它对我的​​ UserInterface 有很大的影响。

在 iOS 中,我在旧的 ViewController 之上显示了一个新的 ViewController。新 ViewController 的背景是透明的。

配置是这样完成的:

在此处输入图像描述

结果是这样的(新的VC在中间显示了Game Menu,后台VC的所有按钮都被禁用了):

在此处输入图像描述

我怎样才能为 MacOS 实现相同的目标?

我试过这样:

在此处输入图像描述

结果如下所示: 在此处输入图像描述

标签: swiftmacoscocoansviewcontroller

解决方案


您不想调用presentAsModalWindow(_:)(这是“Present Modally”选项的代码等效项)。它不提供对您用来呈现视图控制器的窗口的任何自定义。您可能想要做的只是调用present(_, animator:)允许您在另一个之上呈现视图控制器的调用。我制作了一个关于使用这个调用创建自定义动画的视频,它可能会回答你如何在这里实现你想要的。


推荐阅读