为什么标签不以全屏模式显示?

时间:2019-01-29 18:57:06

标签: swift macos fullscreen

我有这个代码

import Cocoa
import AppKit


class MainScreenVC: NSViewController {

    @IBOutlet var textTest: NSTextField!



    override func viewDidLoad() {
        super.viewDidLoad()

    //let presOptions :NSApplication.PresentationOptions = [.fullScreen, .autoHideMenuBar]
    //let optionsDictionary = [NSView.FullScreenModeOptionKey.fullScreenModeApplicationPresentationOptions: presOptions]
    //view.enterFullScreenMode(NSScreen.main!, withOptions: optionsDictionary)

         textTest.stringValue = "Hello"

    }
    override var representedObject: Any? {
        didSet {

        }
    }

}

textTest具有将其显示在容器中间的约束。

运行时,应用程序按预期在窗口中间显示“ Hello”。

如果我取消注释进入全屏模式并运行该应用程序所需的行,它将进入全屏状态,但不会显示任何文本。

为什么?

我正在使用xCode 10.1

1 个答案:

答案 0 :(得分:0)

我不知道为什么,但是我遇到了同样的问题,我想出了两种解决方案,您可以使用toggleFullScreen(:) setFrame( {{3} }在 windowController windowDidLoad函数

例如:

  override func windowDidLoad() {
    super.windowDidLoad()

    guard let window = window,
      let screen = window.screen
      else { return }


    window.setFrame(window.frameRect(forContentRect: screen.frame), display: true)
}