为嵌套在UITableViewCell中的UIStackView中的UICollectionView配置动态高度

时间:2019-04-14 15:29:36

标签: ios swift uitableview uicollectionview uistackview

我有一个带有不同单元格的UITableView,其中一个单元格是UIStackView,其中包含多个UIView,最后一个是自定义类,该类继承了UICollectionView

所以我遇到的问题是,由于高度为零,所以不会出现stackview内的collectionview。为了解决这个问题,我尝试在自定义UICollectionView中使用以下代码来提高高度。

override func layoutSubviews() {
    super.layoutSubviews()
    if !hasBeenLayedOut {
        hasBeenLayedOut = true
        self.apply(height: self.collectionViewLayout.collectionViewContentSize.height, width: nil)
        self.layoutIfNeeded()
    }
}

唯一的问题是,当我应用高度约束后,在堆栈视图的视图中应用了约束之后,堆栈视图项会收缩以将其内容调整为集合视图。

我的问题是可以算出layoutSubviews()之前collectionview的高度吗?我尝试使用collectionviewContentSize,但始终为0,这就是为什么collectionview没有高度的原因。

0 个答案:

没有答案