1

当 NSComboBox 失去第一响应者状态并因此获得“resignFirstResponder”时,我尝试进行一些处理,但是我的处理应该只在组合框真正失去第一响应者状态时发生,而不是当内部 NSTextView 用于实现组合框的文本时本身获得第一响应者状态。

是否有官方方法可以检测到第一响应者状态从 NSComboBox 转到其内部 NSTextView?我可以获得指向该 NSTextView 的指针吗?也许设置它的代表?

问候

4

1 回答 1

1

实际上,没有“内部 NSTextView”,每个 NSWindow 都有一个这样的 NSTextView,它可以随意重新分配给需要它的编辑控件(文本、组合框),这就是所谓的“字段编辑器”。有可能通过windowWillReturnFieldEditor在 NSWindow 委托中覆盖它。

实际的答案是我们可以becomeFirstResponder在组合上检测到然后textDidEndEditing

参考:Apple 开发人员文档中“文本编辑编程指南”中的“使用字段编辑器”。

于 2012-06-13T11:58:26.420 回答