Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 如何在NSSearchField中自定义光标?_Macos_Cocoa_Nstextfield_Nstextview_Nssearchfield - Fatal编程技术网

Macos 如何在NSSearchField中自定义光标?

Macos 如何在NSSearchField中自定义光标?,macos,cocoa,nstextfield,nstextview,nssearchfield,Macos,Cocoa,Nstextfield,Nstextview,Nssearchfield,这似乎应该很容易,但有谁能给我指点怎么做?似乎我应该子类化NSTextView并使用drawInsertionPointInRect:color:turnedOn:但是我该怎么做呢?我真的不想做大的定制,也许只是一个触摸厚或触摸短,但问题是在哪里 谢谢 rc这并不直接,因为NSSearchField是NSTextField的子类,而不是NSTextView。但是,每个NSTextField都使用一个代理NSTextView进行绘图,该代理NSTextView(称为字段编辑器)由当前窗口维护。因此

这似乎应该很容易,但有谁能给我指点怎么做?似乎我应该子类化NSTextView并使用drawInsertionPointInRect:color:turnedOn:但是我该怎么做呢?我真的不想做大的定制,也许只是一个触摸厚或触摸短,但问题是在哪里

谢谢


rc

这并不直接,因为
NSSearchField
NSTextField
的子类,而不是
NSTextView
。但是,每个
NSTextField
都使用一个代理
NSTextView
进行绘图,该代理
NSTextView
(称为字段编辑器)由当前窗口维护。因此,您要做的是创建自定义的
NSTextView
子类,在窗口控制器中的某个位置(或用作windows委托的任何对象)实例化它,然后创建以下方法:

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