如何在 Cocoa 应用程序中手动创建和附加 MainMenu.xib?

Posted

技术标签:

【中文标题】如何在 Cocoa 应用程序中手动创建和附加 MainMenu.xib?【英文标题】:How do you create and attach MainMenu.xib manually in Cocoa Application? 【发布时间】:2011-09-04 17:08:36 【问题描述】:

我已经开始研究一些小型 Cocoa 应用程序。它工作得很好,但现在我想创建自己的 MainMenu(不使用 XCode 创建的默认 MainMenu.xib)。

但我遇到了一些障碍。首先,我添加了两个 XIB 及其对应的 NSWindowController。这个想法是第一个 xib 将调用另一个 xib 文件。但是由于这两个 xib 文件是一个 Window 和它的 NSWindowController,我对如何添加 MainMenu 感到很困惑。我创建了另一个名为 MainMenu.xib 的 XIB 文件,并在启动 XIB 文件中执行此操作:

 - (void)windowDidLoad
   
     [super windowDidLoad];
     mainMenu = [[NSMenu alloc] initWithWindowNibName:@"MainMenu"];
     [self setMainMenu:mainMenu];  
   

但它不起作用。第一次启动XIB根本没有显示MainMenu(所以我无法退出应用程序)。

至于 MainMenu.xib 本身,我已经将它与启动 XIB 连接(使用拖入 XIB 设计器左窗格的 NSOBject)。

像这样为多 XIB 创建主菜单的正确方法是什么? 我希望我正确地陈述了我的问题,因为我对这个 Cocoa 东西很陌生 :)

提前致谢!

【问题讨论】:

【参考方案1】:

您不必创建另一个 xib 来更改主菜单栏。

您只需在界面构建器中编辑MainMenu.xib 内的菜单栏即可!

【讨论】:

谢谢@Yuji!我昨晚自己弄清楚了。在手动添加 MainMenu.xib 时遇到困难,我只是恢复到 MainMenu.xib 仍然存在的旧代码。之后我意识到我可以将任何窗口从不同的 xib 拖动到这个 mainMenu.xib。这样新窗口也可以有主菜单。谢谢

以上是关于如何在 Cocoa 应用程序中手动创建和附加 MainMenu.xib?的主要内容,如果未能解决你的问题,请参考以下文章

Cocoa iPhone SDK 开发 - 如果 UIImageView 附加了 CABasicAnimation,则 touchesBegan 方法不起作用

无法为名为的类创建映射策略(Cocoa 错误 134110)

如何在 Cocoa 应用程序中包含 OpenCV?

Cocoa 应用程序菜单 - 如何重新创建?

如何在 Cocoa 应用程序中切换视图?

Cocoa 查看自动缩放内容