2011-02-07 2 views
0

Я пытаюсь изменить цвет фона той части текста, которая выбрана пользователем другим цветом (чтобы добавить выделение) в текст. Теперь я попробовал:Установить цвет фона выделенного текста в NSTextView?

  • (пустоты) setSelectedTextAttributes: (NSDictionary *) атрибуты

метод, но который только изменяет цвет фона выбора. Мне нужно изменить цвет фона текста так, чтобы он оставался выделенным.

+0

Возможный дубликат [Изменение цвета выбора текста в NSTextView] (http://stackoverflow.com/questions/4300272/changing-text-selection-color-in-nstextview) –

+0

Не дублировать. Это относится к изменению цвета выделения (при выборе текста) и не сохраняет цвет фона после того, как выбор был изменен. – Ben

ответ

0

Как вы обнаружили, выбранные атрибуты текста применяются только к тексту во время его выбора. Если вы хотите добавить некоторые атрибуты к выделенному тексту, которые сохраняются, вам необходимо применить эти атрибуты к базовому объекту NSTextStorage (который является всего лишь подклассом NSMutableAttributedString).

Способ сделать это состоит в использовании textStorage метода, Вид текста, а затем применить атрибуты с помощью метода addAttributes:range: (или setAttributes:range: в зависимости от того, хотите ли вы добавить к существующему тексту атрибутов или вообще заменить их).