【问题标题】:Cocoa How to show another window instead of the main window可可如何显示另一个窗口而不是主窗口
【发布时间】:2014-04-13 12:47:37
【问题描述】:

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

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

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

【问题讨论】:

    标签: macos cocoa mainwindow


    【解决方案1】:

    主窗口可能正在显示,因为它位于主菜单 NIB 中并且启用了“启动时可见”。 “Visible At Launch”的真正含义是“在加载 NIB 时可见”。

    最快的解决方法是关闭该窗口的“启动时可见”。最好从该 NIB 中删除该窗口。虽然这是您从 Apple 项目模板中获得的默认行为,但在主菜单 NIB 中设置一个窗口是个坏主意。它们都应该像您的新窗口一样使用单独的 NIB 完成。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 没有。正如我所说,你的主 NIB 中不应该有一个窗口。此外,如果他切换主 NIB,他将失去应用程序的主菜单。
      猜你喜欢
      • 2010-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多