2011-01-31 4 views
3

Если у меня есть UILabel определенного размера, с режимом разрыва строки, установленным в WordWrap и numberOfLines = 0 (поэтому он растет в зависимости от количества текста), есть способ определить, какие символы на каждой строке метки?Текст UILabel на каждой строке

Так что, если у меня есть текст «Все люди, кажется, нуждаются в обработке данных», как текст на этикетке, и предполагая, что он показывает, как это на экране

All People
Seem To
Need Data
Processin
g

есть ли способ узнать текст на каждой строке? или ширины каждой линии?
Линия 1: Все люди
Line 2: Кажись Для
линии 3: Необходимость данных
Линия 4:
обработки поч Линия 5: г

+0

См. Мой ответ здесь - [Как получить текст из n-й строки UILabel?] (Http://stackoverflow.com/questions/4421267/how-to-get-text-from-nth-line -of-uilabel/14413484 # 14413484) – TheTiger

ответ

0

Как об использовании sizeWithFont NSString в? Сделайте до каждого слова, пока не получите число, большее, чем ширина метки. Затем нарежьте эти слова и сделайте снова для следующей строки.

+1

Вам нужно учитывать пробелы и тот факт, что каждый глиф имеет разную ширину. – Moshe

+0

CGGraham: При переносе слов некоторые символы слова нарезаются как «обработка» на примере – GianPac

+0

Любые ссылки на то, как работает UILineBreakModeWordWrap? Я знаю, если он найдет определенные символы, такие как пробел, '?', '-', newline, он будет перенесен на следующую строку. Но как насчет долгого слова? – GianPac

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