在NSTextView中绘制多个游标

时间:2010-12-11 18:06:36

标签: objective-c cocoa cursor draw nstextview

不是关于UITextView!

Mac 应用程序中,我想在NSTextView(在NSScrollView中)中绘制多个游标。一个光标当然是您键入的位置,是您正常输入时看到的位置。

其他游标是其他人正在打字的位置。这些游标的位置是NSArray中的NSNumbers。

如何覆盖NSTextView的draw方法以在特定字符位置绘制光标?管道字符不是一个选项。


哦,请注意NSTextView中所有文字的字体始终是Monaco 10pt。

1 个答案:

答案 0 :(得分:1)

- (void)drawRect:(NSRect)dirtyRect
{
[super drawRect:dirtyRect];

// draw your cursors here.

}

您可以从NSCursor类中获取光标图像,并且可以从视图的NSLayoutManager实例中找出从中绘制光标的位置。我强烈建议您在通常的插入点指示符和表示其他用户插入点的指示符之间进行一些视觉区分。