У меня есть UITableView
, который содержит количество ячеек. В приведенном ниже примере каждая из этих двух строк содержит UICollectionView
, управляющий тегами. Первоначальная загрузка работает правильно, и tableView
изменяет размер строк правильно на основе высоты UICollectionView.

В методе viewDidLoad
я установил следующие конфигурации для tableView
:
tableView.rowHeight = UITableView.automaticDimension
tableView.estimatedRowHeight = UITableView.automaticDimension
Тогда в методе viewDidAppear
я призываю к обновлению tableView
следующим образом:
override func viewDidAppear(_ animated: Bool) {
tableView.beginUpdates()
tableView.endUpdates()
}
ПРОБЛЕМА 1: Этот вид работ, за исключением того, что оживляет увеличение высота строки tableView. Есть ли способ исправить это только при начальной загрузке?
Вторая проблема заключается в том, что, если пользователь взаимодействует с содержимым и удаляет одно из них, даже если размер collectionView
изменяется, он обновляет размер содержимого. не запускает строку tableView
, чтобы обновить ее высоту, как видно на снимке экрана ниже:

Возможно, потому что он внутри tableView
cell
, потому что обычно collectionView
просто автоматически изменяет размеры. См. Скриншот ниже, когда collectionView
находится за пределами tableView
.

Если прокрутить tableView
, строка будет правильной изменен как часть процесса удаления / повторного использования. См. Ниже:

Я предполагаю, что отчасти проблема заключается в том, что ограничения макета для collectionView
, когда он находится внутри tableViewCell
, заключается в том, что он прикреплен к краям tableViewCell
, но если я этого не сделаю, он не будет отображаться правильно, поэтому я потерялся ...
ПРОБЛЕМА 2: Как исправить Изменение высоты строки tableView в зависимости от изменений ее содержимого?