Самое важное сообщение - вам нужно вызвать все делегаты и метод источника данных UITableViewController в файле UICollectionViewCell.swift.
var intDynamicHeight = CGFloat()
func sizeHeaderToFit() -> CGFloat
{
let headerView = questionTableView.tableHeaderView!
//headerView.setNeedsLayout()
//headerView.layoutIfNeeded()
let height = headerView.systemLayoutSizeFitting(UIView.layoutFittingCompressedSize).height
self.intDynamicHeight = height
// var frame = headerView.frame
// frame.size.height = height
// headerView.frame = frame
// questionTableView.tableHeaderView = headerView
return height
}
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat
{
return self.sizeHeaderToFit()
}
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView?
{
let headerView = questionTableView.tableHeaderView!
let viewNewIN = UIView.init(frame: CGRect(x: 0, y: 0, width: <Your desire Width>, height: self.intDynamicHeight))
headerView.isHidden = false
var frame = headerView.frame
frame.size.height = height
headerView.frame = frame
viewNewIN.addSubview(headerView)
return viewNewIN
}
И скрыть представление заголовка на начальном этапе, чем отображение в методе viewForHeaderInSection
.