Изменение курсора в NSTextView - PullRequest
1 голос
/ 07 июля 2011

Я надеюсь, это будет относительно легко сделать.

Я пишу приложение для Mac, которое будет (в основном) гигантским NSTextView. Я хотел бы переопределить курсор позиции текста по умолчанию на уникальный курсор цвета / формы. У меня нет большого опыта в Quartz или общем рисовании, но это то, что я могу изучить больше самостоятельно.

Что я в первую очередь ищу, так это советы о том, как лучше всего это реализовать. Будет ли вопрос переопределения функции drawRect, вызова super и реализации моего собственного кода отрисовки?

Как мне найти подходящее место для рисования этого курсора? Содержится ли оно в переданном прямоугольнике drawRect?

1 Ответ

1 голос
/ 08 июля 2011

По сути, вам придется создать подкласс 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

...