NSString имеет некоторые дополнения в UIKit, позволяющие вычислять размер, используемый для визуализации строки, с учетом различных параметров.Вы можете использовать эти методы для вычисления размера, необходимого UILabel для визуализации строки, а затем изменить размер UILabel до именно этого размера.Посмотрите в документации метод с именем -sizeWithFont:
, все остальные варианты перечислены там.Убедитесь, что вы используете правильный метод, чтобы соответствовать настройке UILabel.
Здесь есть одна оговорка, которая заключается в том, что в iOS 4 есть ошибка, когда эти методы на самом деле возвращают немного другой размер, чем на самом делеиспользуется для рисования (по крайней мере, для системного шрифта на iPhone 4 [например, Helvetica Neue], я не знаю, затрагивает ли эта ошибка какие-либо другие шрифты).К сожалению, единственный обходной путь, о котором я знаю, - это переключиться на Core Text для всего вашего рендеринга текста, поэтому вы можете просто предпочесть жить с этой ошибкой (если она даже затрагивает вас), пока Apple не выпустит обновление программного обеспечения.Эта ошибка влияет на собственные приложения Apple, поэтому существует множество прецедентов, позволяющих не обрабатывать ее.