Установите tableview
высоту в heightforrowAt
на UITableView.automaticDimension
.
Сделайте ваш вид сверху внутри UIView
(назовем его view1). Установите его высоту 0 с приоритетом 750, теперь дочерний элемент внутри view1
даст высоту view1
. Сделайте вывод нижнего ограничения последнего потомка внутри view1
.
Отключение нижних ограничений поможет вам скрыть view1
, так как мы сначала устанавливаем высоту в 0 и ожидаем, что дочерние элементы обеспечат высоту. Когда мы отключаем нижнее ограничение, дочерние элементы не смогут предоставить. Следовательно, view1
свернется, чтобы определить высоту 0.
Теперь для каждого cellforrowatIndexpath
вызова метода передайте некоторые параметры, чтобы скрыть или показать вид сверху.
func configureUI(cellData:String? , showTopView:Bool){
mBtmCnst.isActive = showTopView
}
Обязательно пометьте вид сверху view1
на cliptobounds
true и mBtmCnst на strong
розетка.
Надеюсь, это поможет вам!