我有一个带有不同单元格的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没有高度的原因。