gpt4 book ai didi

objective-c - 从菜单中删除 'Start Dictation' 和 'Special Characters'

转载 作者:太空狗 更新时间:2023-10-30 03:30:43 25 4
gpt4 key购买 nike

为了在我的 Cocoa 应用程序中启用复制和粘贴,我向菜单添加了两个新菜单项(复制和粘贴)并将选择器从每个项目拖到第一响应者(复制和粘贴)。但是,复制和粘贴菜单项下方会显示两个额外的项目:“开始听写”和“特殊字符”。

我无法弄清楚为什么它们会出现或我如何删除它们。

最理想的情况是,我什至不希望复制和粘贴菜单项可见。我只希望我的应用程序的用户能够将内容(即来自电子邮件、文本文档等)粘贴到我的应用程序中其中一个表单的文本字段中。

最佳答案

这是我在我的应用程序中用来删除这些自动添加到“编辑”菜单的条目的代码:

- (void) applicationDidFinishLaunching: (NSNotification*)aNotification
{
NSMenu* edit = [[[[NSApplication sharedApplication] mainMenu] itemWithTitle: @"Edit"] submenu];
if ([[edit itemAtIndex: [edit numberOfItems] - 1] action] == NSSelectorFromString(@"orderFrontCharacterPalette:"))
[edit removeItemAtIndex: [edit numberOfItems] - 1];
if ([[edit itemAtIndex: [edit numberOfItems] - 1] action] == NSSelectorFromString(@"startDictation:"))
[edit removeItemAtIndex: [edit numberOfItems] - 1];
if ([[edit itemAtIndex: [edit numberOfItems] - 1] isSeparatorItem])
[edit removeItemAtIndex: [edit numberOfItems] - 1];
}

注意:此代码需要放在 applicationDidFinishLaunching: 或更高版本中,如果将其放在 applicationWillFinishLaunching: 中,条目将不会添加到 编辑菜单。

另请注意,我正在使用 NSSelectorFromString,因为使用 @selector 会导致“未知选择器”警告。 (即使有警告代码也能正常工作,但我更喜欢在我的代码中没有警告,所以选择使用 NSSelectorFromString 来避免它们。)

关于objective-c - 从菜单中删除 'Start Dictation' 和 'Special Characters',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21369736/

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