【问题标题】:How to set Command+ as a key equivalent?如何将 Command+ 设置为等效键?
【发布时间】:2011-10-14 07:32:42
【问题描述】:

我想将 command-plus 作为菜单项的等效键,但是,当我尝试输入 command-plus 时,它显示为 command-shift-equals 而不是加号。当我按下 command-plus 时,它显示为 command-equals。有谁知道我该如何解决这个问题?

【问题讨论】:

  • 不确定您问题的第二部分,因为您按相同的键,但描述不同的结果。

标签: objective-c xcode cocoa


【解决方案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+ 一起设置为键时同样有效。

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 我知道。问题是我想让它显示为 Cmd'+' 而不是 Cmd'=' 或 Cmd-Shift-'='。
    • 如果他/她试图按 Cmd 和 '+' 而不按 'Shift',你会欺骗你的应用程序的用户。
    • 苹果不同意。例如,请参见 Safari 中的“查看”菜单。
    【解决方案3】:

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

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

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        【解决方案5】:

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-09-07
          • 1970-01-01
          • 1970-01-01
          • 2015-02-02
          • 2023-04-01
          • 2010-10-31
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多