我有一个子类NSView,我希望包含一个可编辑的NSTextField,类似于Spotlight。
我很难让文本字段选择并突出显示。如果我快速快速地在文本字段的编辑区域上单击,我实际上可以输入文本,但它看起来是灰色的,就好像我正在将文本添加到不是最重要的应用程序的字段中。
我试图使用viewDidMoveToWindow
获得View窗口的焦点,但显然NSMenuItem的窗口是碳窗口,不能很好地处理键。
长话短说,成功完成这项工作的好方法是什么?我知道Spotlight是一个无边框窗口,但这不适合我的目的。
任何和所有建议都会非常有用。
答案 0 :(得分:1)
经过大量研究,有两件事是共识:
(1)如果您发现自己正在寻找将内置UI元素子类化为特殊元素的方法,那么您可能会做错事,或者至少有一种更好的方法可以做到这一点。试图做。
(2)遵循接口指南的原因是更具未来兼容性。无法保证子类UI元素与操作系统的未来版本兼容。
Brass Tacks - 通常不建议继承UI元素。
答案 1 :(得分:0)
你可能想看看Matt Gemmell的MAAttachedWindow。
http://mattgemmell.com/2007/10/03/maattachedwindow-nswindow-subclass