Как я могу программно установить NSWindow на полный экран?
Пример, когда вы дважды щелкаете по панели инструментов Xcode, Xcode автоматически переходит в полноэкранный режим (по-прежнему отображается меню). Как я могу достичь того же результата программно, используя раскадровки и Xcode 7 GM?
3 ответа
Решение
Этот режим называется не "полный экран", а "увеличенный".
Вы можете "увеличить" окно до максимально доступного пространства, используя видимую рамку NSScreen в качестве целевой рамки.
Скажем window
ваш NSWindow IBOutlet:
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()
}
В Задаче C:
[self.window setFrame:NSScreen.mainScreen.visibleFrame display: true animate: true];