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

3

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

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


我相信你可以通过编程实现它。在你的 awakeFromNib 代理方法中添加来自这个答案的两行代码。 - user377628
1个回答

3
如果您想不用一行代码实现这个功能,可以将NSWindowController对象添加到MainMenu.xib文件中,并将第二个xib的名称写入其属性。当加载MainMenu.xib时,将创建此窗口控制器并加载第二个xib,如果它被配置为在启动时可见,则会弹出第二个窗口。
或者可以通过applicationDidFinishLaunching:awakeFromNib:等方法以编程方式实现。
除了将UI拆分成独立模块的工具之外,单独的xib还可以实现例如卸载某些视图以节省内存(例如关闭窗口时),或多次加载一个xib。
在您的情况下,如果两个窗口必须始终存在于内存中,则可以安全地将它们保留在同一个xib中。

我应该将第二个xib的名称写入哪个属性? - Steve McLeod

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接