在Cocoa OS X应用程序中,如何在启动时打开两个窗口?

时间:2012-07-20 14:49:34

标签: macos cocoa interface-builder

我的OS X应用程序有两个窗口。我在MainMenu.xib中放了一个,在SecondaryWindow.xib中放了另一个。

当我运行我的应用程序时,MainMenu.xib中的窗口显示。我还希望在启动时显示SecondaryWindow.xib中的第二个窗口。我该如何实现这一目标?为第二个窗口使用单独的xib文件是个好主意吗?

1 个答案:

答案 0 :(得分:3)

如果您想在没有一行代码的情况下执行此操作,请将NSWindowController对象添加到MainMenu.xib并将第二个xib的名称写入其属性。加载MainMenu.xib时,将创建此窗口控制器,并将加载第二个xib,如果配置为在启动时可见,则会弹出第二个窗口。

或者以编程方式从例如applicationDidFinishLaunching:awakeFromNib:

除了作为将UI分解为独立模块的工具之外,单独的xib还可以例如卸载其中一些并节省内存(例如,当窗口关闭时),或者多次加载。

在你的情况下,如果两个窗口都必须在内存中,你可以安全地将它们保存在同一个xib中。