2012-04-19 2 views
3

Я довольно новичок в использовании основного текста, и я не нахожу много информации о том, как использовать атрибуты цвета ... как бы установить цвет текста по умолчанию, затем изменить цвета для определенных диапазонов?Значение основного текста по умолчанию цвет и цвет конкретных слов

Я пытаюсь сделать короткое предложение. Я бы хотел, чтобы цвет текста по умолчанию был светло-серым, а затем пометить одно красное слово, чтобы выделить его.

+0

Проверьте это замечательное сообщение в блоге http://www.cocoanetics.com/2011/01/befriending-core-text/ – Andrea

+0

Хех это точный пост в блоге, за которым я слежу, но спасибо :) и да это Удивительно – Cruinh

ответ

7

При попытке лучше объяснить проблему у меня был, я нашел ошибку ... Я делал это

UIColor _textColor = [UIColor grayColor]; 
[string addAttribute:(id)kCTForegroundColorAttributeName value:(id)_textColor range:NSMakeRange(0, [string length])]; 

вместо этого

UIColor _textColor = [UIColor grayColor]; 
[string addAttribute:(id)kCTForegroundColorAttributeName value:(id)_textColor.CGColor range:NSMakeRange(0, [string length])]; 

Это помогает убедиться, что вы используете подходящий цветной объект!

1

Есть два способа решить эту проблему

1) Я создал подкласс UILable и UITextView используется основной текст (CATextLayer) в виде слоя на этикетке/TextView и NSAttributedString будет хранить всю информацию о шрифте и цвете

2) Вам нужно будет использовать NSAttributedString. Проверьте OHAttributedLabel, который расширяет UILabel и добавляет поддержку для настройки текста через NSAttributedString среди других помощников.

Надеюсь, это поможет.

Для получения дополнительной информации, пожалуйста, cehck моего поста: How to change color of a word in UITextView?

+0

Я фактически использую строку NSAttributed, но моя проблема в том, что кажется, что я могу либо установить цвет всей строки, либо я могу оставить ее в полях и по умолчанию для отдельных поддиапазонов. Хотя, похоже, я не могу сделать оба. Я попытаюсь отредактировать часть моего кода в исходном вопросе, чтобы лучше объяснить проблему, с которой я сталкиваюсь ... – Cruinh

+0

На самом деле, неважно ... при редактировании в моем коде я нашел проблему. :) – Cruinh

Смежные вопросы