Как изменить макет UITableViewCell с помощью UIStackView - PullRequest
0 голосов
/ 14 февраля 2019

У меня есть пользовательский UITableViewCell с вертикальным UIStackView.В свою очередь, в представлении стека есть 2 метки UIL, одна из которых по умолчанию скрыта.Как изменить высоту ячейки, чтобы правильно отображать обе метки в представлении стека, когда вторая метка не скрыта.При нажатии кнопки, когда я показываю вторую метку, он пытается показать обе метки с одинаковой высотой, перекрывающими друг друга, однако, когда я прокручиваю вид вверх и вниз, он перерисовывает его нормально.

Я пытался вызвать SizeToFit и LayoutIfNeeded без помощи.Как изменить высоту строки / ячейки, чтобы обе метки отображались в стеке, чтобы они выглядели правильно?

Cell with a stackview and second label hidden Cell with a stackview and second label unhidden

Ответы [ 3 ]

0 голосов
/ 14 февраля 2019

Попробуйте перезагрузить эту строку с помощью reloadRows(at indexPaths: [IndexPath], with animation: UITableView.RowAnimation) после того, как вы нажмете кнопку, которая показывает обе метки.

0 голосов
/ 14 февраля 2019

Вы можете позвонить

tableView.beginUpdates()
tableVIew.endUpdates()

После нажатия на кнопку, и ваша ячейка изменит высоту.Это решение совместимо с анимацией.

0 голосов
/ 14 февраля 2019

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...