这似乎应该很容易,但任何人都可以给我指示如何做到这一点?看来我应该继承NSTextView并使用drawInsertionPointInRect:color:turnedOn:但我该怎么做?我真的不想做重大的定制,也许只是触摸更厚或触摸更短,但问题在哪里?如何在NSSearchField中自定义光标?
感谢,
RC
这似乎应该很容易,但任何人都可以给我指示如何做到这一点?看来我应该继承NSTextView并使用drawInsertionPointInRect:color:turnedOn:但我该怎么做?我真的不想做重大的定制,也许只是触摸更厚或触摸更短,但问题在哪里?如何在NSSearchField中自定义光标?
感谢,
RC
这是不是真的直线前进,因为NSSearchField
是NSTextField
,而不是NSTextView
子类。但是,每个NSTextField
使用代理NSTextView
做图纸,而这个代理NSTextView
(称为字段编辑器),是由当前窗口保持不变。所以,你想要做的是创建自定义NSTextView
子类,在你的窗口控制器(或任何你作为Windows代理使用),然后创建下面的方法某处实例吧:windowWillReturnFieldEditor:toObject:
。
在该方法中,检查toObject是否是您的搜索字段(或者只是任何搜索字段,以防您希望为窗口中的每个搜索字段覆盖它),然后返回您的自定义NSTextView
,否则返回nil
具有默认行为的默认字段编辑器。