Форматирование многострочного текста на iPhone

Мне нужно отобразить некоторый текст в нескольких представлениях, загруженных на UIScrollView. Он должен быть центрирован как по вертикали, так и по горизонтали.

Я сделал это без проблем, используя UITextView, но теперь мне нужно выполнить небольшое форматирование в середине текста — немного изменить цвет и курсив.

Моя первая попытка состояла в том, чтобы использовать для этого UIWebView, объявить CSS для тега <i> с правильным цветом, и это сработало, но слишком медленно. Иногда представление прокручивается на экране, и требуется добрая секунда, прежде чем его текст будет обновлен.

Я думал о Core Graphics, но некоторые документы и Google показали мне, что это сложная задача. Я имею в виду, если это единственный вариант, мне придется его изучить. Но перед этим я хотел бы знать, есть ли что-нибудь еще, что я должен попробовать.

Итак, не могли бы вы, ребята, указать мне правильное направление? Есть ли другой вариант или что мне нужно для поиска рисования многострочного, центрированного, форматированного текста в Core Graphics?


person leolobato    schedule 02.10.2009    source источник


Ответы (1)


Вы можете использовать собственный UILabel. Джо Хьюитт (разработчик приложений для Facebook) использует один из них и выложил большую часть своего кода в открытый доступ. Он называется Three20.

Я думаю, что вы хотите, это TTStyledTextLabel

person coneybeare    schedule 02.10.2009
comment
Я приму этот ответ, так как это отправная точка для меня, но этот компонент не поддерживает никакого текстового выравнивания, кроме левого. Я попробую реализовать выравнивание по центру, но не уверен, что это будет просто. Спасибо! - person leolobato; 19.10.2009
comment
Интересно, почему TTStyledTextLabel не рекламируется более заметно. На веб-сайте Three20 упоминаются только различные компоненты высокого уровня. Хотя они, без сомнения, очень полезны, я предполагаю, что представления низкого уровня, такие как эта текстовая метка, могут быть даже более интересными для многих разработчиков (включая меня). - person Mirko Froehlich; 28.10.2009