带有CollectionView内容的自动表高度 - Swift



层次结构看起来像这样:

  • 表观
    • 表查看单元格
      • 收集视图
        • 收集查看单元格

收集视图内容由Ajax JSON加载。

我希望表加载数据后调整高度。

override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
    return UITableView.automaticDimension
}

首先,您需要动态更改uicollectionView

import UIKit
class DynamicCollectionView: UICollectionView {
    override func reloadData() {
        super.reloadData()
        self.invalidateIntrinsicContentSize()
    }
    override var intrinsicContentSize: CGSize {
        return self.collectionViewLayout.collectionViewContentSize
    }
}

并将此CollectionView放入UitablAviewCell中。之后,您应该在viewdidload((方法

中写入
tableView.estimatedRowHeight = 44 //height which one you want, it does not matter
tableView.rowHeight = UITableView.automaticDimension

这就是全部。我希望这将有助于解决您的问题。

最新更新