以编程方式将字形(删除键,退格键,空格等)添加到菜单项

the*_*kid 3 macos cocoa menu glyph nsmenuitem

曾经是在Carbon中你可以使用SetMenuItemKeyGlyph.10.6下的替代方案是什么?我是否需要使用无证件或......?

谢谢

Dav*_*ong 6

使用-[NSMenuItem setKeyEquivalent:]并给它一个NSString你想要使用的角色. NSMenuItem将处理转换@" "Space你的,等

删除键(又名"Backspace".这是键盘上的常规删除按钮):

[myMenuItem setKeyEquivalent:[NSString stringWithFormat:@"%c", 0x08]];
Run Code Online (Sandbox Code Playgroud)

转发删除键("del"键):

[myMenuItem setKeyEquivalent:[NSString stringWithFormat:@"%c", 0x7f]];
Run Code Online (Sandbox Code Playgroud)

空间:

[myMenuItem setKeyEquivalent:@" "];
Run Code Online (Sandbox Code Playgroud)

标签:

[myMenuItem setKeyEquivalent:[NSString stringWithFormat:@"%c", 0x09]];
Run Code Online (Sandbox Code Playgroud)

  • 您也可以直接使用常量而不是字符代码,例如`NSBackspaceCharacter`而不是`0x08`.请参阅Apple的[NSText参考文档](https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Classes/NSText_Class/Reference/Reference.html#//apple_ref/doc/uid/20000367 -20750)获取常量列表. (2认同)