MAC OS Xcode Swift 2.2 全屏模式

MAC OS Xcode Swift 2.2 Fullscreen Mode

什么 Swift 代码可以将应用程序切换到全屏? 我找到了 IOS 示例代码的参考资料。 我正在寻找适用于 MacOS 应用程序的代码。

一种方法是覆盖 NSViewController 中的 viewDidAppear:

class ViewController : NSViewController {

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

Apple Developer API Reference : viewDidAppear()

更新 Swift 4

override func viewDidAppear() {
    let presOptions: NSApplication.PresentationOptions = [.fullScreen, .autoHideMenuBar]
    let optionsDictionary = [NSView.FullScreenModeOptionKey.fullScreenModeApplicationPresentationOptions: presOptions]
    view.enterFullScreenMode(NSScreen.main!, withOptions: optionsDictionary)
    view.wantsLayer = true
}

另一种选择,如果您想要不同的行为,当您将鼠标移动到顶部时菜单栏可用。但是,它开始时是正常大小 window 然后会变大,因此根据您的操作,这可能不是您想要的。

override func viewDidAppear() {
    view.window?.toggleFullScreen(self)
}