如何将Command +设置为等效键?

时间:2011-10-14 07:32:43

标签: objective-c xcode cocoa

我希望将command-plus作为菜单项的等效键,但是,当我尝试输入command-plus时,它显示为command-shift-equals而不是plus。当我按下command-plus时,它会显示为command-equals。有谁知道我怎么能绕过这个?

5 个答案:

答案 0 :(得分:1)

要输入+符号,您实际上必须按Shift +'=',这就是为什么当您将Cmd +置于等效键时它显示为Cmd + Shift + =。

答案 1 :(得分:1)

这可以通过编程方式完成。将菜单项连接到界面构建器中的属性(" zoomInItem")。然后在应用程序完成启动时设置等效键。

- (void)applicationDidFinishLaunching:(NSNotification*)aNotification {
    [self.zoomInItem setKeyEquivalent:@"+"];
}

enter image description here

答案 2 :(得分:1)

在Xcode 8.2中输入等效键时,如果你点击⇧⌘=,你会得到一个小弹出按钮,说"替换"在球场内。它会显示⇧⌘=和⌘+作为替代项(重要的是,只有当您从检查器中的文本字段输入等效键时,才会显示,而不是双击IB中菜单项的键等效槽)。这就是我认为你打算选择⌘+的地方,如果你想要它那样呈现。

然而,至少在macOS Sierra 10.12 / Xcode 8.2.1中编译我的应用程序时,这似乎并没有起作用。我将此作为解决方案发布,因为在执行此操作后,关键等效项在Interface Builder中看起来是正确的,并且只在运行时发生问题,所以我假设有一个版本的Xcode构建工具链或Cocoa,这实际上是有效的。

有趣的是,编辑故事板会产生相同的症状(IB中的等效工作正常,但显示空白):

  <menuItem title="Increase Image Size" keyEquivalent="+" id="SCO-e4-3zd">
    <modifierMask key="keyEquivalentModifierMask" command="YES" />
    <connections>
      <action selector="increaseRowHeight:" target="Ady-hI-5gd" id="pu1-6E-HSr"/>
      </connections>
  </menuItem>

第三种解决方案也具有相同的运行时症状(为项目指定一个插座并在代码中设置它):

    decreaseThumbnailSizeItem.keyEquivalent = "+"
    decreaseThumbnailSizeItem.keyEquivalentModifierMask = NSCommandKeyMask

NSShiftKeyMaskNSAlternateKeyMask+一起设为关键时,同样有效。

答案 3 :(得分:0)

如果您可以使用带数字键盘的键盘,则可以使用小键盘+键。

答案 4 :(得分:0)

您可以在文本编辑器中打开xib文件,添加编辑菜单项的等效键:

<menuItem title="Zoom In" keyEquivalent="+" id="hXP-3c-xDr"/>