2015-09-10 3 views
0

В моем UITableViewCell, когда я загружаю данные в него, у меня есть 2 UILabels, которые могут иметь неограниченное количество строк.UILabel с 0 строками изначально не показывает полный текст

Я обрабатывать их обоих, как это:

label.numberOfLines = 0 
label.lineBreakMode = .ByWordWrapping 

Когда я сначала загрузить данные в UITableView, по какой-то причине иногда клетки на экране еще не показывают всю строку в этикетках. Вместо этого они просто не расширяются.

Однако, когда я прокручиваю вниз, чтобы они были на экране, а затем прокручивались назад, все выглядит идеально.

Почему это? Как исправить эту проблему?

В моих cellForRowAtIndexPath я в основном использую dequeueReusableCellWithIdentifier(:forIndexPath:)

тогда, я cell.configureViews(...) и возвращение.

В моей PostCell я редактирование выше в override func layoutSubviews()

+0

как делает ваш метод cellAtRowIndexPath выглядеть? – rocky

+0

Если вы используете раскадровку, проверьте, есть ли число строк 0 – air6199

ответ

0

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

Сходите в раскадровку, выберите метку на этикетке, и щелкните Attributes Inspector.

Под этикетки вы должны увидеть «Линии 0», как на скриншоте ниже:

enter image description here

Кроме того, убедитесь, что вы имеете дело с избытком символов так, как вы хотите - ниже является примером настройки для переноса текста на новую строку:

enter image description here enter image description here

+0

Я сделал это, но все же я не смог получить весь текст для ячейки, которую я создаю. – ahujamoh

0

Вам нужно рассчитать высоту UILabel и использовать его как с ll высота до намотки ячейки.

Попробуйте рассчитать высоту UILabel UILabel height calculation

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