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
}
}
更新 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)
}
什么 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
}
}
更新 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)
}