【问题标题】:Key events not getting through to responders关键事件未传达给响应者
【发布时间】:2011-06-10 04:30:57
【问题描述】:

我无法让一些关键事件进入我希望接收它们的视图,特别是控制标签键按下事件 - 其他键盘命令工作正常。

我已将 NSApplication 的 sendEvent() 子类化以查看发生了什么,当我按下 control-tab 时,我可以将事件触发记录为 keyDown。但是接收视图的 keyDown 没有被调用。

在 NSApp 中,我可以看到 [[NSApp keyWindow] firstResponder] 设置正确 - 它针对的是 tableView。

我也尝试过记录 keyWindow keyDown 事件,但它也没有被触发。

那么我如何知道事件发生了什么?

或者控制选项卡有什么特别之处? - 会不会是试图在我的视图中浏览字段或其他什么?

奇怪的是,keyUp 事件总是正确地进入视图。

【问题讨论】:

    标签: objective-c cocoa hotkeys


    【解决方案1】:

    IIRC,控制键事件由-performKeyEquivalent: 处理,而不是-keyDown:,所以我会尝试。

    【讨论】:

    • 太棒了 - 完全正确。你不知道它试图弄清楚这里发生了什么令人沮丧。 performKeyEquivalent: 捕获控制键。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 2020-05-15
    • 1970-01-01
    • 1970-01-01
    • 2016-03-02
    相关资源
    最近更新 更多