当我在Xcode中创建一个新的cocoa项目时,它会创建一个带有Window的MainMenu.xib文件。我想将窗口分成MainWindow.xib并将其显示为主窗口 - 我该怎么做?
如果我创建一个基于'文档'的应用程序 - 我看到两个xib(MainMenu.xib和MyDocument.xib),我注意到MyDocument.xib立即显示 - 但我不明白它的识别位置。似乎没有明确的代码,我不知道在哪里查看plist。
如果我创建一个新文档,如何将其作为启动应用程序时显示的主窗口?
答案 0 :(得分:10)
在<YourProjectName>-Info.plist
中,您将找到关键的“主nib文件基本名称”,其中第一个xib的值通常为“MainMenu”。
您还可以找到“文档类型” - &gt; “项目0” - &gt; “Cocoa NSDocument Class”,其值为“MyDocument”。在“MyDocument”类中,有一个方法- (NSString *)windowNibName
。这将返回要加载的第一个xib的名称。
答案 1 :(得分:3)
窗口管理是您的责任。不要依赖框架以任何顺序显示窗口,因为该顺序未定义。
首先,确保在Interface Builder中为您的窗口选中Visible at Launch
复选框 。如果是,您将无法有效地控制窗口显示。它默认开启。
接下来,为要加载的每个窗口笔尖使用NSWindowController
子类。然后,在主应用程序控制器中,您可以控制何时实例化NSWindowController
个对象以及何时调用其-showWindow
方法。
在您的示例中,您可能会在应用程序委托中的NSWindowController
方法中为MainWindow.xib
实例化‑applicationDidFinishLaunching:
。