gpt4 book ai didi

macos - 如何将 NSApplicationPresentationOptions 应用于应用程序?

转载 作者:行者123 更新时间:2023-12-03 16:19:17 24 4
gpt4 key购买 nike

我试图使应用程序以演示模式启动,同时禁用 Dock、菜单栏、进程切换等。我为这些设置设置了变量,但现在我不知道如何将这些设置实际应用到应用。这是我到目前为止的代码:

let presOptions: NSApplicationPresentationOptions = [
.HideDock , // Dock is entirely unavailable. Spotlight menu is disabled.
// .AutoHideMenuBar , // Menu Bar appears when moused to.
// .DisableAppleMenu , // All Apple menu items are disabled.
.DisableProcessSwitching , // Cmd+Tab UI is disabled. All Exposé functionality is also disabled.
.DisableForceQuit , // Cmd+Opt+Esc panel is disabled.
.DisableSessionTermination , // PowerKey panel and Restart/Shut Down/Log Out are disabled.
.DisableHideApplication , // Application "Hide" menu item is disabled.
// .AutoHideToolbar ,
.FullScreen
]

我相信后面的行是:

let optionsDictionary = [NSFullScreenModeApplicationPresentationOptions: presOptions]

但在那之后我完全迷失了。谢谢您的任何帮助!

最佳答案

假设您有一个带有 NSViewControllerNSWindow,您可以执行以下操作:

class ViewController: NSViewController {
override func viewWillAppear() {
let presentationOptions: NSApplicationPresentationOptions = [
.HideDock , // Dock is entirely unavailable. Spotlight menu is disabled.
.DisableProcessSwitching , // Cmd+Tab UI is disabled. All Exposé functionality is also disabled.
.DisableForceQuit , // Cmd+Opt+Esc panel is disabled.
.DisableSessionTermination , // PowerKey panel and Restart/Shut Down/Log Out are disabled.
.DisableHideApplication , // Application "Hide" menu item is disabled.
.FullScreen
]

if let screen = NSScreen.mainScreen() {
view.enterFullScreenMode(screen,
withOptions: [NSFullScreenModeApplicationPresentationOptions:
NSNumber(unsignedLong: presentationOptions.rawValue)])
}
}
}

尚不完全清楚 viewDidAppearviewWillAppear 中哪一个是执行此操作的最佳位置。从视觉上看似乎没有区别。

关于macos - 如何将 NSApplicationPresentationOptions 应用于应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32810878/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com