我的OS X应用程序有两个窗口。我在MainMenu.xib中放了一个,在SecondaryWindow.xib中放了另一个。
当我运行我的应用程序时,MainMenu.xib中的窗口显示。我还希望在启动时显示SecondaryWindow.xib中的第二个窗口。我该如何实现这一目标?为第二个窗口使用单独的xib文件是个好主意吗?
答案 0 :(得分:3)
如果您想在没有一行代码的情况下执行此操作,请将NSWindowController
对象添加到MainMenu.xib
并将第二个xib的名称写入其属性。加载MainMenu.xib时,将创建此窗口控制器,并将加载第二个xib,如果配置为在启动时可见,则会弹出第二个窗口。
或者以编程方式从例如applicationDidFinishLaunching:
或awakeFromNib:
。
除了作为将UI分解为独立模块的工具之外,单独的xib还可以例如卸载其中一些并节省内存(例如,当窗口关闭时),或者多次加载。
在你的情况下,如果两个窗口都必须在内存中,你可以安全地将它们保存在同一个xib中。