好的,我有一个有很多 xib 的项目,每个 xib 都包含很多 nswindows。
我需要使用键盘快捷键来保存每个窗口。
我是否需要为每个 XIB 创建多个 mainMenu NSMenuItems。但另一个问题是单个 Cmd+S 如何知道哪个窗口处于焦点以及如何调用我的方法。
好的,我有一个有很多 xib 的项目,每个 xib 都包含很多 nswindows。
我需要使用键盘快捷键来保存每个窗口。
我是否需要为每个 XIB 创建多个 mainMenu NSMenuItems。但另一个问题是单个 Cmd+S 如何知道哪个窗口处于焦点以及如何调用我的方法。
不,您不需要制作多个 NSMenuItem。
mainMenu.xib 附带的一个用于此目的。
制作菜单的 IBActionFile->Save
并将其用作:
- (IBAction)saveMenu:(id)sender {
NSWindow *currentWindow=[NSApp keyWindow];
NSLog(@"this is key window : %@", currentWindow.title);
}
这将为您提供活动窗口。
在每个控制器中,您需要覆盖
- (void)saveDocument:(id)sender;
并使用 IB 绑定它。