如何在NSSearchField中自定义游标?

时间:2013-02-28 02:29:35

标签: macos cocoa nstextfield nstextview nssearchfield

这似乎应该很容易,但任何人都可以给我指点如何做到这一点?似乎我应该继承NSTextView并使用drawInsertionPointInRect:color:turnsOn:但是我该怎么办呢?我真的不想做大的定制,可能只是触摸更厚或触摸更短,但问题是在哪里?

谢谢,

RC

1 个答案:

答案 0 :(得分:0)

这不是很直接,因为NSSearchFieldNSTextField的子类,而不是NSTextView。但是,每个NSTextField使用代理NSTextView进行绘制,此代理NSTextView(称为字段编辑器)由当前窗口维护。因此,您要做的是创建自定义NSTextView子类,在窗口控制器中的某个位置实例化它(或者您用作Windows委托的任何内容),然后创建以下方法:windowWillReturnFieldEditor:toObject:。< / p>

在方法中,检查toObject是否是您的搜索字段(或者只是任何搜索字段,以防您要为窗口中的每个搜索字段覆盖它),然后返回自定义NSTextView,否则使用默认行为返回nil默认字段编辑器。