【问题标题】:How I can programmatically set NSWindow to full screen?如何以编程方式将 NSWindow 设置为全屏?
【发布时间】:2015-09-15 12:05:24
【问题描述】:

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

【问题讨论】:

    标签: macos swift cocoa nswindow


    【解决方案1】:

    这种模式不是“全屏”而是“缩放”。

    您可以使用 NSScreen 可见框架作为目标框架,将窗口“缩放”到最大可用空间。

    假设window 是您的 NSWindow IBOutlet:

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

    【讨论】:

      【解决方案2】:

      在目标 C 中:

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

      【讨论】:

        【解决方案3】:

        这里是 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()
            }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-09-08
          • 1970-01-01
          • 2014-04-04
          • 1970-01-01
          • 2019-02-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多