在 NSWindowController 的窗口出现在屏幕上之前对其进行配置
我正在使用 NSWindowController ,不想在显示实际窗口之前在窗口上设置一些属性(特别是 styleMask 属性)。然而,NSWindowController
上的 window
属性只有在窗口已经出现在屏幕上时才可用。
我可以在 NSWindowController
上使用 initWithWindow:
但随后我无法再使用 nib 文件来存储窗口的内容(因为这使用 initWithWindowNibName:<那么
如何在显示之前配置视图,类似于 NSView
上的 viewWillAppear
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在 Interface Builder 中,取消选中“启动时可见”属性。这样做时,当窗口控制器加载相应的 nib 文件时,窗口不会显示,因此您可以在
-[NSWindowController windowDidLoad]
中配置窗口,然后使用- 手动显示它[NSWindowController showWindow:]
。请注意,Cocoa 中没有
-viewWillAppear
方法。In Interface Builder, uncheck the ‘Visible At Launch’ attribute. When doing this, the window is not shown when the corresponding nib file is loaded by the window controller, so you can configure your window in
-[NSWindowController windowDidLoad]
and then manually show it using-[NSWindowController showWindow:]
.Note that there’s no
-viewWillAppear
method in Cocoa.