Есть ли способ рисовать цветной текст, используя дополнение UIKit для NSString на iPhone? - PullRequest
18 голосов
/ 09 июля 2009

Есть ли способ рисовать цветной текст, используя дополнение UIKit для NSString на iPhone?

Ответы [ 4 ]

50 голосов
/ 18 сентября 2009

Решение Брэда добавляет немало кода, если у вас нет удобного контекста (например, если вы делаете это в методе drawRect:).

Способ сделать это без компьютерной графики -

[[UIColor redColor] set];

или любой другой цвет.

30 голосов
/ 10 июля 2009

Если под дополнениями NSString UIKit вы подразумеваете методы категорий drawAtPoint: и drawInRect:, то все, что вам нужно сделать, чтобы изменить их нарисованный цвет, это поместить

CGContextSetFillColorWithColor(context, textColor);

перед вызовом drawAtPoint: или drawInRect :. Цвет заливки контекста используется в качестве цвета текста при рисовании вручную.

1 голос
/ 09 июля 2009

Сама строка NSS не знает, как она будет отображаться; это просто данные. Отображение обрабатывается в любом представлении, представляющем текст пользователю. Это может быть UILabel, UITextfield и т. Д. Эти классы обычно хранят свой текст либо в UILabel, либо в текстовом свойстве. Цвет текста обычно можно установить с помощью:

aLabel = [[UILabel alloc] init];
aLabel.text = @"My String";
aLabel.textColor = [UIColor blackColor];
0 голосов
/ 09 июля 2009

На рабочем столе вы можете использовать NSAttributedString, но это не доступно на iPhone. Если вы просто пытаетесь разместить цветной текст на экране, самый простой способ - просто использовать UILabel. Вы можете манипулировать текстом, шрифтом и цветом следующим образом:

myLabel.text = @"Your text";
myLabel.font = [UIFont boldSystemFontOfSize:16];
myLabel.textColor = [UIColor redColor];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...