Выбор пользовательского рисунка в NSTextView

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


person Martin S.    schedule 18.05.2011    source источник


Ответы (2)


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

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

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

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

person auco    schedule 13.08.2012

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

person koen    schedule 25.08.2012