在cocoa app中使新窗口默认

时间:2014-10-29 01:54:43

标签: objective-c macos cocoa

我有两个关于可可应用的问题(初学者):

  1. 我创建了新的cocoa app。我创建了新课程MSDMasterWindowController,然后选中了要创建的新 .xib 文件复选框。我想让新窗口成为默认窗口。我怎样才能做到这一点?

  2. 尝试这个的原因是我找不到在哪里编写默认窗口的代码(没有.h和.m文件)我可以创建NSWindowController的新类子类,然后以某种方式将该类与默认的 .xib 连接起来?这个窗口的目的是什么?

  3. 有关上述问题的任何说明或与解释此主题的一些教程的链接将深表感谢。我已经下载了Window编程指南,我现在正在查看它。

    问候,约翰。

1 个答案:

答案 0 :(得分:1)

每个 XIB 都有一个文件所有者,您可以将其连接到自定义类。如果您创建了NSWindowController子类,则可以将其用作单独的 XIB 的所有者。

单协调器应用程序中的默认窗口 可以放在 MainMenu.xib 中,其中NSApplicationNSApp文件的所有者,虽然为主窗口设置单独的窗口控制器可能是个好习惯,因此您可以控制它何时显示和隐藏,而不是applicationDidFinishLaunching默认行为。

类似的回答here

您可以让NSWindowController和其他各种应用委托方法显示该窗口。或主菜单中的菜单项。方法各不相同,但您可能希望在app appate实例中拥有一个属性,该实例是self.wincon = [[MYCustomWindowController alloc] initWithWindowNibName:@"MainWindow"]; [self.wincon showWindow:self]; 子类的实例。

MYCustomWindowController

...“ MainWindow.xib ”将是{{1}}作为文件所有者的xib文件。