我使用的是 NSWindowController
,我不想在显示实际窗口之前在窗口上设置一些属性(特别是 styleMask
属性)。然而,NSWindowController
上的 window
属性只有在窗口已经出现在屏幕上时才可用。
我可以在 NSWindowController
上使用 initWithWindow:
但随后我无法再使用 nib 文件来存储窗口的内容(因为这使用 initWithWindowNibName:
.
那么如何在显示之前配置 View ,类似于 NSView
上的 viewWillAppear
?
最佳答案
在 Interface Builder 中,取消选中“启动时可见”属性。这样做时,当窗口 Controller 加载相应的 nib 文件时,窗口不会显示,因此您可以在 -[NSWindowController windowDidLoad]
中配置窗口,然后使用 - 手动显示它[NSWindowController showWindow:]
.
请注意,Cocoa 中没有 -viewWillAppear
方法。
关于objective-c - 在 NSWindowController 的窗口出现在屏幕上之前对其进行配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9132585/