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

grahamcracker1234

我试图使应用程序在演示模式下启动,同时禁用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]

但是在那之后我完全迷失了。谢谢您的帮助,不胜感激!

斯蒂芬·阿伦兹(Stefan Arentz)

假设您的NSWindow带有NSViewController,则可以执行以下操作:

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)])
        }
    }
}

它并不完全清楚哪一个viewDidAppear,并viewWillAppear为做到这一点的最佳场所。在视觉上似乎没有什么区别。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将应用程序图标应用于Theme.DeviceDefault.Light.DarkActionBar?

如何将 Material Theme 应用于应用程序(活动)中的所有按钮?

如何将父应用程序的布局和资产应用于已安装的引擎?

如何将年龄限制应用于 Android 应用程序?

如何将微服务架构应用于投票应用程序?

如何将基于声明的身份验证应用于.NET 4应用程序?

如何将应用程序审查委员会建议的修复程序应用于我的应用程序?

如何将Heroku生成的服务器端口应用于前端Vue.js应用程序?

如何将背景图像应用于仅一个反应页面而不是整个应用程序?

如何将 cuda-memcheck 应用于具有来自标准 I/O 的管道输入的应用程序

将灰度效果应用于JavaFX应用程序

如何将硒用于桌面应用程序?

如何以编程方式将颜色应用于应用程序主题?

如何编写将内容脚本应用于单页应用程序的 chrome 扩展?

如何将 observable 应用于复选框以验证它是否被选中,从而能够重新加载我的应用程序页面?

如何在 Blazor 应用程序中使用 SASS 生成的引导程序将引导程序样式应用于输入?

如何将12 Factor App应用于Linux驱动程序开发?

如何将点击处理程序应用于模板内的多个元素-EXTJS

如何将光标指针属性应用于(单击)事件处理程序?

jQuery处理程序-如何将操作应用于动态添加的元素

如何将贴片应用于指示器小程序?

如何将引导程序类应用于 css 文件中的每个相同的 HTML 元素?

如何将弧度应用于多个调整大小的拖动处理程序

如何将BatchNormalization应用于Keras LSTM的输入?

如何将 CSS 应用于输入标签值

如何将多个蒙版应用于UIView

Pandas 如何将函数应用于 groupby().first()

CSS:如何将样式应用于特定类

如何将多个条件应用于 .Find?