Выбор пользовательского чертежа в NSTextView - PullRequest
2 голосов
/ 19 мая 2011

У меня есть NSTextView, где я хотел бы управлять рисованием выделения / выделения.Кто-нибудь знает, какой метод мне нужно перезаписать, чтобы я мог контролировать, что рисовать в прямоугольнике выбора?

Ответы [ 2 ]

0 голосов
/ 25 августа 2012

Если вы не хотите использовать стандартные атрибуты для выделения текста, например, с помощью CALayer, вы можете получить фрагменты, содержащие выбор, из layoutManager из NSTextView.

0 голосов
/ 13 августа 2012

Вы не указываете, что хотите нарисовать, поэтому нелегко дать вам прямой ответ.

Если это просто приписанная строка (шрифт, стиль, цвет, фон), вам не нужно ничего причудливого, просто найдите NSAttributedString.Существуют такие методы, как -setSelectedTextAttributes: и метод делегата -textViewDidChangeSelection:

Как правило, вам не следует создавать подкласс NSTextView, если у вас нет для этого веских причин.Вы можете сделать почти все, просто используя обычные механизмы делегирования.

Если это что-то очень настраиваемое, существует множество возможностей в зависимости от того, хотите ли вы настроить выбор (-setSelectedRange:), нарисуйте вид наложения (получить кадр selectedRange) или возиться с механизмом разметки низкого уровня (-layoutManager).Это действительно зависит.

...