Изменение курсора в NSTextView
Я надеюсь, что это будет относительно легко сделать.
Я пишу приложение для Mac, которое будет (в основном) гигантским NSTextView. Я хотел бы переопределить курсор позиции текста по умолчанию на уникальный курсор цвета / формы. У меня нет большого опыта в Quartz или общем рисовании, но это то, что я могу изучить самостоятельно.
Что я в первую очередь ищу, так это советы о том, как лучше всего это реализовать. Будет ли вопрос переопределения функции drawRect, вызова super и последующей реализации моего собственного кода отрисовки?
Как мне найти подходящее место для рисования этого курсора? Содержится ли оно в переданном прямоугольнике drawRect?
1 ответ
По сути, вам придется создать подкласс 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