2010-12-11 8 views
1

Nicht über UITextView!Zeichnen mehrerer Cursor in einem NSTextView

In einer Mac Anwendung möchte ich mehrere Cursor in einem NSTextView (in einem NSScrollView) zeichnen. Ein Cursor ist natürlich die Position, an der Sie tippen, die, die Sie sehen, wenn Sie normal tippen.

Die anderen Cursor sind die Positionen, an denen andere Personen gleichzeitig tippen. Die Positionen dieser Cursor sind NSNumbers in einem NSArray.

Wie kann ich die Zeichnungsmethode von NSTextView überschreiben, um einen Cursor an einer bestimmten Zeichenposition zu zeichnen? Ein Pipe-Zeichen ist keine Option.


Oh, beachten Sie, dass die Schriftart aller Text in der NSTextView immer Monaco 10pt ist.

Antwort

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

// draw your cursors here. 

} 

Sie können ein Cursor-Bild aus der NSCursor Klasse, und Sie können herausfinden, wo es NSLayoutManager Instanz aus Ihrer Sicht zu ziehen. Ich würde sehr empfehlen, dass Sie eine visuelle Unterscheidung zwischen dem üblichen Einfügepunkt-Indikator und den Einfügungspunkten anderer Benutzer treffen.

+0

Die anderen Cursor werden in der Tat in verschiedenen Farben sein. –