gpt4 book ai didi

cocoa - 根据用户选择更改 NSMenuItem

转载 作者:行者123 更新时间:2023-12-03 17:30:49 30 4
gpt4 key购买 nike

我正在开发一个基于 Cocoa 文档的应用程序。我的文件菜单中有一个名为“Export Things...”的菜单项。此菜单项连接到第一响应者,并调用MyDocument中的选择器。到目前为止一切顺利。

我想根据用户的选择更改此菜单项的标题。如果用户未选择任何内容,则应显示“导出所有内容...”,当用户选择了某些内容时,应显示“导出所选内容...”。当没有打开任何文档时,它应该只是显示“导出内容...”。

我应该在何时何地更改此菜单项?我想我可以使用 setTitle: 更改菜单项,但是如何获取对 NSMenuItem 的引用?

最佳答案

您可以在处理菜单项操作的响应程序类中实现-validateMenuItem:。它应该返回一个 BOOL(指示该项目是否已启用),但您还可以获得对 NSMenuItem 的引用作为可用于更改标题的参数。

要决定要处理哪个菜单项,您应该检查其操作,例如

- (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;
}

关于cocoa - 根据用户选择更改 NSMenuItem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4711468/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com