Jak*_*ger 0 cocoa menuitem document-based
我正在研究基于Cocoa文档的应用程序.我在文件菜单中有一个名为"Export Things ..."的菜单项.此菜单项连接到第一个响应者,并在MyDocument中调用选择器.到现在为止还挺好.
我想根据用户选择更改此菜单项的标题.如果用户没有选择任何内容,则应显示"导出所有内容...",当用户选择了某些内容时,应显示"导出所选内容...".当没有文档打开时,它应该只是"Export Things ...".
我应该在何时何地更改此菜单项?我想我可以使用setTitle改变菜单项:但是如何获得对NSMenuItem的引用?
您可以-validateMenuItem:在响应器类中实现处理菜单项的操作.它应该返回一个BOOL(指示该项是否已启用),但您还可以获得对NSMenuItem可用于更改标题的参数的引用.
要确定您正在处理哪个菜单项,您应该检查它action,例如
- (BOOL)validateMenuItem:(NSMenuItem *)item {
if ([item action] == @selector(export:)) {
if (hasSelection) {
[item setTitle:NSLocalizedString(@"Export Selected Things",nil)];
} else {
[item setTitle:NSLocalizedString(@"Export All Things",nil)];
}
}
return YES;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1618 次 |
| 最近记录: |