【问题标题】:how to catch when the NSTextView in a NSComboBox gets first responder status如何捕捉 NSComboBox 中的 NSTextView 何时获得第一响应者状态
【发布时间】:2012-05-23 15:43:00
【问题描述】:

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

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

问候

【问题讨论】:

    标签: cocoa nstextview first-responder nscombobox


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-06
      • 2017-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-07
      • 1970-01-01
      相关资源
      最近更新 更多