0

简短的答案在标题内:)

解释:我MainMenu.xib只有应用程序的主菜单NSWindow,我打开的所有菜单都必须相同。让我说,有一个特别之处NSWindowController在于,关于何时必须启用菜单项(通过cases on selectorin validateUserInterfaceItem)以及如何处理所有操作的所有答案。当NSWindowNSWindowController当前关注的相关联时,没有问题,但是当我关注另一个时,NSWindow所有菜单都是灰色的。

我现在有这个流程:MainMenu通过将它作为 Main nib 引用来创建info.plist,然后AppDelegate做一些初始化的东西并创建MainWinControllerwith MainWindow,在某些时候MainWinController创建 1+ DetailsWinControllerwith DetailsWindowAppDelegate通过调用每个时间函数来管理我的自定义菜单MainWinController

那么,我怎样才能强制响应者链总是查询那个特定的NSWindowControllerMainWinController)?

4

1 回答 1

0

你没有提供很多细节,也不清楚你想要实现什么。

我的第一反应是,如果你想共享菜单项,为什么要在主窗口中创建多个窗口而不是视图?

假设您的 MainWindow 和 DetailsWindow 都实现了相同的选择器,您可以将菜单操作定向到第一响应者

要在 InterfaceBuilder 中添加 DetailsWinController,请从 Object Library 中拖动一个 NSObject,然后在 Identity Inspector 中将其类更改为您的 DetailsWinController 类。

如果您的 Main Menu 有 DetailsWindow 的不同项目,只需将这些项目连接到该实例中的操作。

请注意,如果您这样做,则不应在代码中创建 DetailsWinController。如果您真的想在代码中执行此操作,则需要在代码中将操作和目标添加到您的菜单中。

于 2012-07-17T06:47:08.743 回答