首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按ESC键后如何在NSOutlineView内部的NSTextFieldCell中结束编辑

按ESC键后如何在NSOutlineView内部的NSTextFieldCell中结束编辑
EN

Stack Overflow用户
提问于 2011-04-30 18:01:43
回答 2查看 2.6K关注 0票数 12

我正在尝试让一个自定义的NSTextFieldCell (在NSOutlineView中)在按下ESC键时结束编辑,但找不到任何方法来实现这一点。我试图为NSControlTextDidChangeNotification-notification添加一个观察者,但它不会在ESC-key中触发,keyDown也不会在NSOutlineView中触发。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-04-30 20:42:05

Esc在NSResponder中触发-cancelOperation。您可以尝试在响应器链中的某个位置处理此问题。

票数 23
EN

Stack Overflow用户

发布于 2018-12-27 03:04:24

公认的答案是正确的。更详细地说:为了捕获ESC键事件,您可以覆盖NSViewController (或您正在使用的NSResponder的任何其他派生)中的cancelOperation方法。这是我的代码在Swift 4.x中的样子。

代码语言:javascript
复制
class PopUIcontroller: NSViewController, NSTextFieldDelegate {

      override func cancelOperation(_ sender: Any?) {
        print("trying to cancel! Here I will do stuff to handle ESC key press!")

      }

}

更多信息:NSWindowController can't capture ESC without WebView is added to the window

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5840988

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档