Кварц, 2-й / Базовая Графика: Что правильный путь состоит в том, чтобы нарисовать некоторый текст?

Я был в этом некоторое время, кажется, что существует много способов пойти об этом в 2-м кварце:

1) Нарисуйте текст с помощью базовых графических методов...

CGContextSelectFont
CGContextSetRGBFillColor
CGContextShowTextAtPoint

и вперед и вперед, который является ужасно низким уровнем.

2) использование NSString drawAtPoint

(до сих пор метод мне нравится),

NSString* text = @"Hello";
[text drawAtPoint:point withFont:font];

3) использование UILabel

Я считал это где-нибудь, но не слишком уверенный, если это возможно. но я думаю, что инстанцирование UILabel в drawRect было бы довольно дорогостоящим, поскольку drawRect, вероятно, становится названным огромное количество раз.??


Я делаю хорошо с 2. (использование NSString drawAtPoint) в настоящий момент, но я хотел получить некоторые мнения. Снова, я пытаюсь создать текст в drawRect (я разделил представление на подклассы), потому что я также тяну формы наряду с текстом, каков правильный путь?

Спасибо

6
задан Jonathan. 1 December 2011 в 20:16
поделиться

2 ответа

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

Поэтому используйте # 2, если вы абсолютно не уверены, что текст содержит только стандартные символы ASCII.

9
ответ дан 8 December 2019 в 18:32
поделиться

#2 - вот как я обычно это делаю, если мне не нужен более точный контроль при использовании CG/CT

3
ответ дан 8 December 2019 в 18:32
поделиться