Нахождение правильной ширины строки NSString - PullRequest
5 голосов
/ 30 апреля 2011

От каких факторов зависит перенос текста внутри текстового представления.Ширина моего текстового обзора составляет 160 пикселей, и я вычислил ширину входящего текста, используя указанный ниже код, и получается 157 пикселей, но этот текст заключен в 3 строки ... Почему так?* Я думал о делении ширины текста на ширину текста, чтобы получить количество строк.Но вычисление возвращает мне 1, тогда как я вижу 3 строки в текстовом представлении на симуляторе.

Ответы [ 2 ]

10 голосов
/ 30 апреля 2011
- (CGSize)sizeWithFont:(UIFont *)font
     constrainedToSize:(CGSize)size
         lineBreakMode:(UILineBreakMode)lineBreakMode

Вычисляет размер строки, если она будет нарисована с ограничением размером, заданным в качестве аргумента, если строка слишком длинная для данного ограничения размера, она будет усечена для соответствия.

Чтобы получить ширину строки, если она нарисована на одной строке без ограничений, используйте:

- (CGSize)sizeWithFont:(UIFont *)font

см .: http://developer.apple.com/library/ios/#documentation/uikit/reference/NSString_UIKit_Additions/Reference/Reference.html

ПРИМЕЧАНИЕ. Начиная с iOS7

- (CGSize)sizeWithFont:(UIFont *)font

устарела, вместо этого используйте:

- (CGSize)sizeWithAttributes:(NSDictionary *)attrs
1 голос
/ 30 апреля 2011

Попробуйте установить height размера, который вы передаете этому методу, как нечто огромное. В противном случае возвращаемый размер всегда будет отображать фактическую высоту текстового представления (при условии, что полная строка не помещается в данную высоту).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...