2015-12-26 3 views
0

Я пишу табличный вид, где каждая ячейка показывает изображение и некоторые тексты. Эти тексты загружаются через Интернет, как и новостное приложение, тексты являются динамическими.Рассчитать высоту UILabel с фиксированным размером шрифта и количеством строк

Для текстов может быть до 2 строк, а размер шрифта фиксирован. (Размер шрифта можно изменить с помощью страницы настроек)

Я использую фиксированную высоту для ячеек таблицы, и мне нужно вычислить высоту UILabel во время выполнения компоновки компоновки.

Как вычислить высоту UILabel с фиксированным размером шрифта (скажем, 20) и разрешены 2 строки?

+0

im не уверен, что вы имеете в виду, вы хотите, чтобы ваши таблицы отображали ячейки на разных высотах в соответствии с количеством строк метки? – Uros19

+0

Нет, я не хочу, чтобы высота ячейки была динамической. Я знаю, как это сделать. Но это не мое дело. –

ответ

0

Если я не ошибаюсь, вы хотите динамически установить высоту вашей таблицы или UILabel в соответствии с длиной текста.

Простой способ заключается в настройке autolayout UILabel в TableCell в интерфейсе строителя, и установить количество UILabel линий до нуля, а затем поместите в viewDidLoad вашей Tableview в:

tableView.estimatedRowHeight = 44.0 //(or some number you prefer) 
tableView.rowHeight = UITableViewAutomaticDimension 

Таким образом, вы можете иметь столько строк, сколько хотите, не вычисляя размеры метки.

+0

Нет, я не хочу, чтобы высота ячейки была динамической. Я знаю, как это сделать. Но это не мое дело. Я хочу, чтобы мой пользовательский интерфейс имел более упорядоченный формат, поэтому мне нравится использовать фиксированную высоту ячейки. –

0

Попробуйте установить количество строк на 2, затем наберите sizeToFit() на вашем UILabel. После этого получить высоту ярлыка через его рамку - label.frame.size.height

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