iOS tableViewCell嵌套UICollectionView 自适应高度
在对UICollectionView reload 后item的个数变化导致collectionViewContentSize发生变化。导致tableViewCell的高度不正确。
解决办法
重写systemLayoutSizeFitting方法
override func systemLayoutSizeFitting(_ targetSize: CGSize, withHorizontalFittingPriority horizontalFittingPriority: UILayoutPriority, verticalFittingPriority: UILayoutPriority) -> CGSize {
let size = super.systemLayoutSizeFitting(targetSize, withHorizontalFittingPriority: horizontalFittingPriority, verticalFittingPriority: verticalFittingPriority)
self.collectionView.layoutIfNeeded()
let height = self.collectionView.collectionViewLayout.collectionViewContentSize.height
return CGSize(width: size.width,height: size.height + height)
}