我有这个代码
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
答案 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)
}