【问题标题】:The segue to a new NSViewController should show the new one on top of the old one covering the whole Window一个新的 NSViewController 的 segue 应该在旧的覆盖整个窗口的顶部显示新的
【发布时间】:2020-04-08 09:50:22
【问题描述】:

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

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

配置是这样完成的:

结果是这样的(新的VC在中间显示游戏菜单,后台VC的所有按钮都被禁用):

我怎样才能在 MacOS 上达到同样的效果?

我试过这样:

结果如下所示:

【问题讨论】:

  • 更改窗口视图控制器和子类 NSWindow 的设置。

标签: swift macos cocoa nsviewcontroller


【解决方案1】:

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

【讨论】:

  • 看起来很有希望。我明天检查一下。非常感谢您的回答
  • @Stefan 当然可以,如果它不能回答您的问题,请告诉我。乐于助人!
猜你喜欢
  • 2023-01-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-29
  • 1970-01-01
相关资源
最近更新 更多