为什么标签没有出现在全屏模式下?

问题描述 投票:1回答:1

我有这个代码

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

swift macos fullscreen
1个回答
0
投票

我不知道为什么但我有同样的问题,我想出了2个解决方案,你可以在windowController windowDidLoad函数中使用toggleFullScreen(:)setFrame(:display:)

e.g:

  override func windowDidLoad() {
    super.windowDidLoad()

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


    window.setFrame(window.frameRect(forContentRect: screen.frame), display: true)
}
© www.soinside.com 2019 - 2024. All rights reserved.