如何以编程方式将 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()
}
例如,当您双击 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()
}