在它出现在屏幕上之前配置NSWindowController的窗口

时间:2012-02-03 17:11:47

标签: objective-c macos cocoa nswindow nswindowcontroller

我正在使用NSWindowController而不想在显示实际窗口之前在窗口上设置一些属性(特别是styleMask属性)。但是,window上的NSWindowController属性仅在窗口已在屏幕上时才可用。

我可以在initWithWindow:上使用NSWindowController,但之后我无法再使用nib文件作为窗口内容(因为它使用initWithWindowNibName:

那么如何在显示视图之前配置视图,类似于viewWillAppear上的NSView

1 个答案:

答案 0 :(得分:3)

在Interface Builder中,取消选中“Visible At Launch”属性。执行此操作时,窗口控制器加载相应的nib文件时不会显示窗口,因此您可以在-[NSWindowController windowDidLoad]中配置窗口,然后使用-[NSWindowController showWindow:]手动显示窗口。

请注意,Cocoa中没有-viewWillAppear方法。

相关问题