来自 NSMenuItem 类引用
如果要将 Backspace 键指定为菜单项的等效键,请使用带有 NSBackspaceCharacter(在 NSText.h 中定义为 0x08)的单个字符串,对于正向删除键,请使用 NSDeleteCharacter(在 NSText.h 中定义)。 h 为 0x7F)。
不确定我是否理解类引用中的“使用带有...的单个字符串”。
//这按预期工作
NSString *s = [NSString stringWithFormat:@"%c",NSDeleteCharacter];
[myMenuItem setKeyEquivalentModifierMask:NSCommandKeyMask];
[myMenuItem setKeyEquivalent:s];
//这没有按预期工作
NSString *s = [NSString stringWithFormat:@"%c",NSF2FunctionKey];
[myMenuItem setKeyEquivalentModifierMask:NSCommandKeyMask];
[myMenuItem setKeyEquivalent:s];
最佳答案
我自己想出来了。
unichar c = NSF2FunctionKey;
NSString *f2 = [NSString stringWithCharacters:&c length:1];
[mi setKeyEquivalent:f2];
[mi setKeyEquivalentModifierMask:NSCommandKeyMask];
关于xcode - 如何以编程方式将功能键设置为等效键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18385885/