这似乎应该很容易,但任何人都可以给我指点如何做到这一点?似乎我应该继承NSTextView并使用drawInsertionPointInRect:color:turnsOn:但是我该怎么办呢?我真的不想做大的定制,可能只是触摸更厚或触摸更短,但问题是在哪里?
谢谢,
RC
答案 0 :(得分:0)
这不是很直接,因为NSSearchField
是NSTextField
的子类,而不是NSTextView
。但是,每个NSTextField
使用代理NSTextView
进行绘制,此代理NSTextView
(称为字段编辑器)由当前窗口维护。因此,您要做的是创建自定义NSTextView
子类,在窗口控制器中的某个位置实例化它(或者您用作Windows委托的任何内容),然后创建以下方法:windowWillReturnFieldEditor:toObject:
。< / p>
在方法中,检查toObject是否是您的搜索字段(或者只是任何搜索字段,以防您要为窗口中的每个搜索字段覆盖它),然后返回自定义NSTextView
,否则使用默认行为返回nil
默认字段编辑器。