将NSViewController设置为全屏

时间:2016-03-09 16:56:06

标签: swift macos cocoa

我的ViewController包含一个按钮。按下按钮时,执行以下行:

self.window?.styleMask = NSFullScreenWindowMask
self.window?.setFrame((NSScreen.mainScreen()?.frame)!, display: true, animate: true)
self.window?.contentViewController = Game()

理想情况下,按下按钮时,Windows内容将替换为名为Game的新NSViewController。

即使窗口被动画化为全屏,游戏也会显示在屏幕角落(仅500 * 300像素),窗口不是全屏模式。如何更改窗口内容并将其设置为全屏样式?

2 个答案:

答案 0 :(得分:0)

只需将NSView的自动调整遮罩设置为宽度和高度:

self.view.autoresizingMask = NSViewHeightSizable | NSViewWidthSizable;

答案 1 :(得分:0)

在我的情况下,我被告知这个答案:

let currentBounds = contentViewController!.view.bounds.size
let destVCNew = destVC as? CPViewController
// Important, missing part:
destVCNew?.view.frame = CGRect(origin: CGPointZero, size: currentBounds)
self.contentViewController = destVCNew