NSSearchField作为第一响应程序



伙计们!我在窗口的工具栏中有一个NSSearchField。我告诉窗口将其第一个响应程序设置为搜索字段:它有效。现在:如果我让窗口告诉我它的第一个响应者是什么,即使搜索字段有焦点,它也不是搜索字段。。。有没有一种方法可以将搜索字段设置为窗口的第一个响应程序而不会出现这种不匹配?

感谢

否。或者至少不容易。当搜索字段或任何简单的文本字段具有键盘焦点时,它实际上不是第一个响应者。当NSTextFieldNSSearchField的超类)的实例被要求成为第一响应者时,它会向窗口请求"字段编辑器",这是专门用于编辑的另一个文本字段。此编辑器位于文本字段中,并设置为实际的第一响应程序。

要获得文本字段或搜索字段,可以在第一个响应程序上使用superview向上访问视图层次结构。(我认为这是字段编辑器的直接超视图。)我很确定实际的文本字段也被设置为字段编辑器的委托,所以你也可以这样得到它,但我不记得我在哪里读到的。

有关字段编辑器的更多信息可通过NSWindow类引用获得。

相关内容

  • 没有找到相关文章

最新更新