【问题标题】:disable launchpad capabilities in OS X cocoa禁用 OS X 可可中的启动板功能
【发布时间】:2016-06-29 16:16:09
【问题描述】:

有没有办法在可可应用程序运行时禁用启动板(3 指滑动)功能?我试图让他们在当前应用程序运行时更难去其他地方或做一些不同的事情。我知道他们还有其他办法,但我只是想劝阻。

【问题讨论】:

    标签: swift macos cocoa nsviewcontroller


    【解决方案1】:

    为了防止用户切换应用程序一般(不仅仅是使用 Launchpad),请在 + [NSApp setPresentationOptions:] 方法中使用 NSApplicationPresentationDisableProcessSwitching 标志。

    更多信息请访问 Apple 的Kiosk Mode Technical Note

    【讨论】:

    • 非常感谢黄昏!我到底要把这个放在哪里?在 AppDelegate 控制器中?当我尝试时,它没有提供使用“NSApplicationPresentationDisableProcessSwitching”的选项。我对 Swift 和 Xcode 真的很陌生,所以我很感激任何细节。
    • 来自 Apple 的页面,您建议使用此代码 -(void) awakeFromNib { @try { NSApplicationPresentationOptions options = NSApplicationPreentationHideDock + NSApplicationPresentationHIdeMenuBar; [NSApp setPresentationOptions:options]; } @catch(NSException * exception) { NSLog(@"Error. Make sure you have a valid combination of options."); } 不幸的是,这对我不起作用。我错过了什么?
    • 该代码是 Objective-C,而不是 Swift。它还包含至少一个错字 (Preentation)。
    • 是的,对不起。我已经修复了错字,但它不起作用。你知道它在 Swift 中会是什么样子吗? “-(void)”现在被“override fun awakeFromNib”替换了吗?
    • override func viewDidAppear() { let presOptions: NSApplicationPresentationOptions = ([.FullScreen,.AutoHideMenuBar]) let optionsDictionary = [NSFullScreenModeApplicationPresentationOptions : NSNumber(unsignedLong: presOptions.rawValue)] self.view.enterFullScreenMode(NSScreen.mainScreen()!, withOptions:optionsDictionary) self.view.wantsLayer = true } 我找到了这个,但我需要它在不进入全屏模式的情况下工作,而且我似乎无法正确使用语法。
    猜你喜欢
    • 1970-01-01
    • 2023-01-10
    • 2012-10-20
    • 1970-01-01
    • 2015-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-13
    相关资源
    最近更新 更多