Как я могу программно установить 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];
Другие вопросы по тегам