这似乎应该很容易,但是任何人都可以向我指出如何做到这一点吗?似乎我应该继承NSTextView并使用drawInsertionPointInRect:color:turnedOn:但是我该怎么做?我真的不想做主要的自定义设置,也许只是触摸更厚或更短,但是问题是在哪里?

谢谢,

rc

最佳答案

这并不是很简单,因为NSSearchFieldNSTextField而不是NSTextView的子类。但是,每个NSTextField使用代理NSTextView进行绘制,并且此代理NSTextView(称为字段编辑器)由当前窗口维护。因此,您要做的是创建自定义的NSTextView子类,将其实例化在窗口控制器中的某个位置(或用作Windows委托的对象),然后创建以下方法:windowWillReturnFieldEditor:toObject:

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

关于macos - 如何在NSSearchField中自定义光标?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15126429/

10-13 08:51