【问题标题】:swiftUI: adding enterFullScreenMode in AppDelegate disables any way of exiting full screenswiftUI:在 AppDelegate 中添加 enterFullScreenMode 会禁用任何退出全屏的方式
【发布时间】:2021-12-20 01:24:20
【问题描述】:

我在应用代理的 applicationDidStart 函数中尝试了以下块:

let mainScreen = NSScreen.screens[0]
window.contentView?.enterFullScreenMode(mainScreen, withOptions: nil)

这很好,但是一旦应用启动并进入全屏模式,就无法摆脱它。退出键,强制退出,命令 q,没有任何作用。唯一的方法就是强制重启。在 mac os big sur 中,强制重启将再次以全屏模式打开应用。

这不是我想要的行为。我尝试使用解决方案添加一个 onExitCommand { } 块以从 swiftUI 视图(下面的链接)中访问 NSWindow 实例,但这会挂起应用程序。

How to access own window within SwiftUI view?

我认为这将是一个没有废话且直截了当的解决方案,但它似乎比预期的更复杂。

谁有解决办法?

谢谢

【问题讨论】:

    标签: swift swiftui


    【解决方案1】:

    我遇到了同样的问题;使用 toggleFullScreen 方法对我有用。

    NSApplication.shared.windows.first?.toggleFullScreen(nil)
    

    【讨论】:

      猜你喜欢
      • 2011-07-30
      • 2022-01-27
      • 1970-01-01
      • 1970-01-01
      • 2023-04-05
      • 2014-03-25
      • 1970-01-01
      • 2014-12-15
      • 1970-01-01
      相关资源
      最近更新 更多