2013-01-09 2 views
2

Позвольте мне рассказать вам мое требование первого,вычисления числа линий с заданной шириной и размер шрифта

Я strings хранится в одной переменной строки говорят, ул

NSString *[email protected]"multiple strings"; 

Далее я хотел бы указать ширину, где указанные строки будут вписываться, скажем, width = 350 и fontsize = 16; Теперь, как бы я узнал, сколько строк тексты будут занимать с заданной шириной = 350 и fontsize = 15. (Я имею в виду количество строк)

+1

Вы имеете в виду, если это слово обернуто, взломать пробелы? – danh

+0

@ danh..no, просто хочу знать количество строк. Мы хотим найти высоту динамически с заданной шириной и fontsize ... –

+0

NSString предоставляет метод sizeWithFont: где вы можете передать шрифт (например, [UIFont systemFontOfSize : 16]), но это скажет вам высоту одной строки. Количество строк является неясным требованием, если мы не знаем, что составляет линию. – danh

ответ

2

Вы можете найти размер (и, следовательно, высоту), необходимый для рисования строка с использованием одного из методов в UIStringDrawing.h. Этот метод даст вам размер при рисовании в ограниченной ширину 350px:

CGSize maximumSize = CGSizeMake(350, CGFLOAT_MAX); 
UIFont *font = [UIFont systemFontOfSize:16]; 
CGSize size = [str sizeWithFont:font constrainedToSize:maximumSize lineBreakMode:NSLineBreakByWordWrapping]; 

В этом примере, maximumSize использует максимально возможную высоту (бесконечность) эффективно для CGFloat, и ширину 350 пикселей. Это эффективно означает «дайте мне размер этого текста, ограничив ширину до 350 пикселей».

+0

что это за 350 значков? ... и что он будет делать ... я думаю, что это ограниченная ширина, но зачем использовать ограниченную ширину? .. pls clear my question ... –

+1

@PKCoder ответ отредактирован объясните аргумент 'constrainedToSize:' явно. –

+0

... ok спасибо, ник, wil вернитесь к u ... :) –

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