xcode - 如何以编程方式将功能键设置为等效键

标签 xcode macos nsmenuitem

来自 NSMenuItem 类引用

如果要将 Backspace 键指定为菜单项的等效键,请使用带有 NSBackspaceCharacter(在 NSText.h 中定义为 0x08)的单个字符串,对于正向删除键,请使用 NSDeleteCharacter(在 NSText.h 中定义)。 h 为 0x7F)。

不确定我是否理解类引用中的“使用带有...的单个字符串”。

//这按预期工作

NSString *s = [NSString stringWithFormat:@"%c",NSDeleteCharacter];

    [myMenuItem setKeyEquivalentModifierMask:NSCommandKeyMask];

    [myMenuItem setKeyEquivalent:s];

enter image description here

//这没有按预期工作

NSString *s = [NSString stringWithFormat:@"%c",NSF2FunctionKey];

    [myMenuItem setKeyEquivalentModifierMask:NSCommandKeyMask];

    [myMenuItem setKeyEquivalent:s];

enter image description here

最佳答案

我自己想出来了。

   unichar c = NSF2FunctionKey;

    NSString *f2 = [NSString stringWithCharacters:&c length:1];

    [mi setKeyEquivalent:f2];
    [mi setKeyEquivalentModifierMask:NSCommandKeyMask];

enter image description here

关于xcode - 如何以编程方式将功能键设置为等效键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18385885/

相关文章:

macos - Mac OSX上的XAMPP:为什么以 'daemon'身份运行?

ios - 如何通过 USB 镜像 iOS 屏幕?

objective-c - MacOS MTKView metal self.device.newBufferWithBytes 因断言而崩溃

objective-c - 根据按键更改 NSPopUpButton 项目的可见性

iphone - UITableView 单击按钮时重新加载数据

iphone - 如何将 XCode 安装在默认位置以外的位置?

ios - "Terminated due to memory issue"

xcode - 如何在 Xcode 4 和 Cordova 中使用符号链接(symbolic link)

swift - 将 NSMenu 添加到右键单击弹出的 NSTableCellView

objective-c - NSMenuDelegate 未为另一个 NSMenuDelegate 创建的 NSMenuItem 中的子菜单调用