Cocoa如何显示另一个窗口而不是主窗口

时间:2014-04-11 00:33:09

标签: macos cocoa mainwindow

我在OSX 10.8上创建了一个cocoa应用程序。我创建了一个从NSWindowController派生的窗口,并为这个窗口创建了一个.xib文件,我想在应用程序启动时显示这个窗口,所以我在applicationDidFinishLaunching函数中添加以下内容

wndAgreement = [[AgreementWindow alloc] initWithWindowNibName:@"AgreementWindow"];
[wndAgreement showWindow:self]; 

但我仍然看到应用程序的主窗口显示。基本上,主窗口在我的窗口后面。如何让主窗口完全不显示,只显示我的窗口?我这样做的原因是因为我正在构建一个向导应用程序,所以在一个窗口上单击下一步将打开另一个窗口并关闭当前窗口。

2 个答案:

答案 0 :(得分:1)

主窗口可能正在显示,因为它位于主菜单NIB中并且启用了Visible At Launch。 "在发布时可见"真的意味着在加载NIB时可见"。

最快的解决方法是关闭该窗口的Visible At Launch。最好从该NIB中删除该窗口。虽然它是Apple的项目模板的默认行为,但在主菜单NIB中有一个窗口是个坏主意。它们应该像你的新窗口一样完成,并使用单独的NIB。

答案 1 :(得分:0)

转到项目的“支持文件”文件夹,然后单击以“info.plist”结尾的文件。在“主nib文件基本名称”下,您可能会看到“MainMenu”。删除它并输入要在启动时显示的窗口的名称。