带有collectionView内容的自动桌子高度-Swift

时间:2019-07-01 16:58:13

标签: swift xcode uitableview swift3 uicollectionview

层次结构如下:

  • 表格视图
    • 表格视图单元格
      • 收藏夹视图
        • 集合视图单元格

“收藏夹视图”内容由ajax json加载。

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

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

1 个答案:

答案 0 :(得分:0)

首先,您需要像这样动态地更改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

这就是全部。我希望这会帮助您解决问题。