当NSComboBox中的NSTextView获得第一响应者状态时如何捕获

时间:2012-05-23 15:43:01

标签: cocoa nstextview first-responder nscombobox

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

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

此致

1 个答案:

答案 0 :(得分:1)

事实上,没有“内部NSTextView”,每个NSWindow都有一个这样的NSTextView,它被重新定位到需要它的编辑控件(文本,组合框),这就是所谓的“字段编辑器”。有可能通过NSWindow委托中的windowWillReturnFieldEditor覆盖它。

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

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