如何以编程方式将 NSWindow 设置为全屏?

How I can programmatically set NSWindow to full screen?

例如,当您双击 Xcode 的工具栏时,Xcode 将自动进入全屏(仍然显示菜单栏)。我如何使用情节提要和 Xcode 7 GM 以编程方式实现相同的结果?

这个模式不叫"full screen"而是"zoomed".

您可以 "zoom" window 最大可用 space 通过使用 NSScreen 可见帧作为目标帧。

假设 window 是您的 NSWindow IBOutlet:

window.setFrame(NSScreen.mainScreen()!.visibleFrame, display: true, animate: true)

在Objective C中:

[self.window setFrame:NSScreen.mainScreen.visibleFrame display: true animate: true];

这里是swift5版本。 在视图控制器的 viewWillAppear() 函数中,调用此函数。

 func setWindowFrameAndCenter() {
        guard let window = self.view.window,
              let windowScreenFrame = window.screen?.visibleFrame else {
                  return
              }
        window.setFrame(windowScreenFrame,
                        display: false,
                        animate: false)
        window.center()
    }