tatableview处理:
v.estimatedRowHeight = 100
v.rowHeight = UITableView.automaticDimension
且代理高度不设置。
在tableviewcell里面初始化UICollectionView的时候指定一个高度collection.snp.makeConstraints { make in
make.top.left.right.equalToSuperview()
make.height.equalTo(100)
}
在tableviewcell里面重写:
override func systemLayoutSizeFitting(_ targetSize: CGSize, withHorizontalFittingPriority horizontalFittingPriority: UILayoutPriority, verticalFittingPriority: UILayoutPriority) -> CGSize {
let size = super.systemLayoutSizeFitting(targetSize, withHorizontalFittingPriority: horizontalFittingPriority, verticalFittingPriority: verticalFittingPriority)
self.targetCollectV.layoutIfNeeded()
let height = targetCollectV.collectionViewLayout.collectionViewContentSize.height
targetCollectV.snp.updateConstraints { make in
make.height.equalTo(height)
}
return CGSizeMake(size.width, height)
}