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