Перемещение нескольких UILabel (s) в соответствии с переносом слов - PullRequest
1 голос
/ 10 октября 2010

У меня есть этот интерфейс с несколькими UILabel.При загрузке представления я заполняю значения с белыми метками некоторыми данными из базы данных.Проблема в том, что некоторые из этих полей потенциально слишком длинны для интерфейса, поэтому я хотел бы вычислить общую высоту одной метки, как только текст будет перенесен, и переместить 2 метки ниже (смещая координату Y) в соответствии свысота предыдущей метки.

Все это должно входить в UIScrollView, чтобы позволить пользователю прокручивать эти метки по вертикали.

Любой шанс, что я могу сделать это легко с помощью некоторого элемента управления, который я до сих пор не знаю,или я должен сделать это вручную?

Спасибо

1 Ответ

2 голосов
/ 10 октября 2010

Вам нужно будет использовать NSString UIKit Additions , чтобы вычислить высоту, которую необходимо установить на UILabel, а затем соответствующим образом настроить другие элементы управления.

В частности, я думаю, что выхотите использовать sizeWithFont: forWidth: lineBreakMode: , чтобы получить прямоугольник для вашей UILabel.


В качестве альтернативы вы можете использовать UIWebView и отображать информацию в виде HTML.Я не знаю, если это обязательно меньше работы, но вы получите макет, который автоматически подстраивается под размер его содержимого.

...