iOS tableViewCell嵌套UICollectionView 自适应高度

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)
    }

你可能感兴趣的:(UI)