12

我已经为我的 Cocoa 应用程序定制了上下文菜单,这样只有某些项目是可见的。尽管我进行了自定义,但我发现系统添加了一个菜单项——“作为语音轨道添加到 iTunes”。

我尝试从菜单中删除此项目,但不知何故,我无法获得控制权。有没有办法可以删除这个项目,还是我必须编写一个 AppleScript 来禁用键盘快捷键下的 iTunes 选项?我讨厌这样做,因为我必须为用户恢复它。

4

3 回答 3

63

您可以使用首选项控制这些菜单的内容(系统范围)。

请参阅系统偏好设置>键盘>键盘快捷键>服务>文本

于 2012-01-08T11:55:17.763 回答
0

根据我的经验,Apple 的默认项目会根据菜单的确切标题触发。例如,我有一个带有 NSMenu 的玩具应用程序,我完全用代码创建(没有 nib)。如果我按如下方式初始化它,我发现视图菜单会获得一个额外的项目(全屏):

    NSMenu* viewMenu = [[NSMenu alloc]initWithTitle:@"View"];

但是,如果我在名称中添加了一个额外的空格,那么 Apple 就不会乱用它:

    NSMenu* viewMenu = [[NSMenu alloc]initWithTitle:@"View "];
于 2016-07-20T17:56:49.687 回答
-8

有没有办法可以删除这个项目,还是我必须编写一个 AppleScript 来禁用键盘快捷键下的 iTunes 选项?

不要与系统抗争;这些服务项目应该出现在每个上下文菜单中,如系统偏好设置中所指定的那样。它甚至出现在我现在用来查看这篇文章的 Safari 的上下文菜单中。是的,我同意默认启用“添加到 iTunes”对于 Apple 来说是一个糟糕的选择,但这就是生活。

也许用户安装了他/她自己的服务项目,例如作为 Automator 操作。在这种情况下,用户可能不想将其删除。

于 2011-11-02T08:51:01.907 回答