【问题标题】:OS X App automatically remove copy, paste key equivalent in Edit menuOS X 应用程序自动删除编辑菜单中等效的复制、粘贴键
【发布时间】:2015-09-30 14:52:57
【问题描述】:

在故事板中,我在菜单项中看到快捷键

但是当我运行应用程序时,此快捷方式会自动删除:

我不明白为什么!

【问题讨论】:

  • 不太明白你的问题,这些菜单是从哪里来的?
  • @ithil 当我在 NSTextView 中输入文本时,我无法使用键盘快捷键全选、复制或粘贴,只能从菜单中选择。
  • 您可能已将这些快捷方式分配给另一个菜单,可能包括窗口中的弹出菜单。如果多个菜单分配了相同的快捷方式,则在运行时实际拥有它是任意的。
  • @KenThomases,谢谢!是的,我在 NSMenuItem 中使用了错误的值 keyEquivalent。我修复它!谢谢!

标签: xcode macos cocoa shortcut


【解决方案1】:

您显然已将这些快捷方式分配给另一个菜单项,可能包括窗口中的弹出菜单。如果多个菜单分配了相同的快捷方式,则在运行时实际拥有它是任意的。

【讨论】:

    【解决方案2】:
    1. 这些菜单来自默认模板。
    2. 您的应用在后台调用 validateMenuItem:如果 menuItem 无法执行操作(例如复制:),则 menuItem 保持禁用状态。
    3. 考虑验证的对象是 firstResponder(见下图)。如果 firstResponder 为 nil -> 菜单项将被禁用。您的应用还会检查对象 (firstResponder) 是否响应菜单项选择器。

    【讨论】:

    • 感谢您的回答!但是@KenThomases 帮助了我
    • 我错过了关于快捷键的内容
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-30
    • 1970-01-01
    • 2011-10-31
    • 1970-01-01
    相关资源
    最近更新 更多