3

我有一个子类 NSView,我想包含一个可编辑的 NSTextField,类似于 Spotlight。

我很难让文本字段选择和突出显示。如果我在文本字段的编辑区域上快速单击,我实际上可以输入文本,但它显示为灰色,就好像我正在将文本添加到一个不是最重要的应用程序的字段中一样。

我试图使用 来获得视图窗口的焦点viewDidMoveToWindow,但显然 NSMenuItem 的窗口是碳窗口,不能很好地处理键。

长话短说,成功完成这项工作的好方法是什么?我知道 Spotlight 是一个无边界窗口,但这不适合我的目的。

任何和所有建议都会非常有帮助。

4

2 回答 2

1

经过大量研究,有两点是普遍共识:

(1) 如果您发现自己正在寻找将内置 UI 元素子类化的方法,那么您可能做错了什么,或者至少有更好的方法来做您想做的事情.

(2) 遵循接口指南的原因是为了更加兼容未来。不能保证子类 UI 元素将与操作系统的未来版本兼容。

Brass Tacks - 通常不建议对 UI 元素进行子类化。

于 2011-03-03T17:42:27.827 回答
0

您可能想查看 Matt Gemmell 的 MAAttachedWindow。

http://mattgemmell.com/2007/10/03/maattachedwindow-nswindow-subclass

于 2011-03-01T04:05:56.243 回答