在NSTextView中改变光标



我希望这将是一件相对容易的事情。

我正在写一个Mac应用程序,它将(主要)是一个巨大的NSTextView。我想将默认文本位置光标覆盖为唯一的颜色/形状光标。我没有很多石英或一般的绘画经验,但这是我可以自己研究更多的东西。

我主要寻找的是关于实现这一点的最佳方法的建议。这将是重写drawRect函数,调用super,然后实现我自己的绘制代码的问题吗?

我如何找到合适的位置来绘制光标?它是否包含在drawRect传递的rect中?

本质上,你必须子类化NSTextView并重写一些方法。最明显的是

-(void)drawInsertionPointInRect:(NSRect)aRect color:(NSColor *)aColor turnedOn:(BOOL)flag

但这似乎并没有完全解决它。显然,您还必须重写一个私有方法:

-(void)_drawInsertionPointInRect:(NSRect)arg1 color:(NSColor *)color

看看这里是否有人已经在尝试这样做了:http://www.cocoadev.com/index.pl?CustomInsertionPoint

最新更新