2016-06-05 2 views
0

Я пытаюсь внедрить одно учебное приложение для английского и шведского для Swift/IOS. Там я хочу иметь две динамические строки, данные поступают из массива, и я старался изо всех сил исправить это. Я видел ок. все переполнения стека также, но никакого успеха вообще. Смотрите скриншот, так как текст длинный, я не вижу его на экране, и текст не появляется на второй строке. Поскольку я добавляю какое-либо ограничение, обе строки иногда исчезают или появляются только одна строка.Два uilabels на uitable с динамической высотой

I have seen this tutorial link as well but cannot get any success.

See the screenshot

Может ли увидеть, пожалуйста, код и исправить ее. Here is the complete code

ответ

7

Вы должны использовать UITableViewAutomaticDimension для управления высотой ячейки в соответствии с содержанием. Для этого вам нужно установить ограничение ваших меток со всех сторон, то есть нажать на ПИН-код, а затем снять флажок «Ограничение с поля», а для обеих ваших меток добавить ограничения сверху, снизу, влево и вправо. Как требуется, если вы хотите использовать UITableViewAutomaticDimension.

Сейчас в ViewController в viewDidLoad методе добавить две строки

self.tableView.estimatedRowHeight = 44.0 
self.tableView.rowHeight = UITableViewAutomaticDimension 

, а затем вы ваши метки будут отображаться полный текст.

enter image description here

+2

Отличный ответ. Еще одно замечание: 'UILabel.numberOfLines' должно быть установлено в' 0', а 'lineBreakMode' должно быть' NSLineBreakByWordWrapping', чтобы включить многострочные метки, обернутые словами. – Cemen

+0

Да, это тоже правильно @Cemen, но эти вещи управляются в коде. – Rajat

+0

Его работает идеально. –

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