【发布时间】:2015-09-15 12:05:24
【问题描述】:
例如,当您双击 Xcode 的工具栏时,Xcode 将自动进入全屏状态(仍然显示的菜单栏)。如何使用故事板和 Xcode 7 GM 以编程方式实现相同的结果?
【问题讨论】:
标签: macos swift cocoa nswindow
例如,当您双击 Xcode 的工具栏时,Xcode 将自动进入全屏状态(仍然显示的菜单栏)。如何使用故事板和 Xcode 7 GM 以编程方式实现相同的结果?
【问题讨论】:
标签: macos swift cocoa nswindow
这种模式不是“全屏”而是“缩放”。
您可以使用 NSScreen 可见框架作为目标框架,将窗口“缩放”到最大可用空间。
假设window 是您的 NSWindow IBOutlet:
window.setFrame(NSScreen.mainScreen()!.visibleFrame, display: true, animate: true)
【讨论】:
在目标 C 中:
[self.window setFrame:NSScreen.mainScreen.visibleFrame display: true animate: true];
【讨论】:
这里是 swift 5 版本。 在视图控制器的 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()
}
【讨论】: