swift - 一个新的 NSViewController 的 segue 应该在覆盖整个 Window 的旧的顶部显示新的
问题描述
我正在将游戏从 iOS 移植到 MacOS。我知道 Apples Catalyst 是一种选择,但我不想走这条路,因为如果它是由触摸或鼠标控制的,它对我的 UserInterface 有很大的影响。
在 iOS 中,我在旧的 ViewController 之上显示了一个新的 ViewController。新 ViewController 的背景是透明的。
配置是这样完成的:
结果是这样的(新的VC在中间显示了Game Menu,后台VC的所有按钮都被禁用了):
我怎样才能为 MacOS 实现相同的目标?
我试过这样:
解决方案
您不想调用presentAsModalWindow(_:)
(这是“Present Modally”选项的代码等效项)。它不提供对您用来呈现视图控制器的窗口的任何自定义。您可能想要做的只是调用present(_, animator:)
允许您在另一个之上呈现视图控制器的调用。我制作了一个关于使用这个调用创建自定义动画的视频,它可能会回答你如何在这里实现你想要的。
推荐阅读
- mysql - 查询节点超时(mysql2)
- python - 是否可以对 python 使用 blackd 格式化程序?
- javascript - 将页面导航添加到 Javascript 前后滑块
- c# - 使用 for 循环或 linq 或任何其他方法以更快的方式读取字典对象值
- javascript - Django:在 Javascript 中启用翻译的简单方法?
- css - 默认行高设置截断 Segoe UI
- objective-c - 如何以编程方式仅调整 NSWIndow 的一侧?
- reactjs - 它无法读取未定义的属性“id”,但我有一些值,不知道为什么它应该是未知的
- livecharts - 如何更改 LineSeries 的动画?实时图表.Wpf
- php - 如何在php中的echo中连接if语句?