我有一个内容视图(此内容视图以后将用作UICollectionViewCell
内容的子类),其中包含UIStackView
。在该堆栈视图中,我添加了一些标签,视图。并且我计算一些条件以确保当标签的数据为空时,该标签将被隐藏,并且堆栈视图将自动更改高度,反之亦然,如果有数据,我将显示它们并通过堆栈视图更新高度再次。
现在,我想知道如何使内容视图的高度始终随着UIStackView
高度的变化而变化。
如果您已经使UIStackView具有跟随其子级的动态高度,那么您所要做的就是在UIStackView和内容视图之间添加约束,并且它也会自动调整大小。
现在,如果将内容视图添加到UICollectionViewCell内,那么无论何时更改UIStackView的内容,都必须确保调用UICollectionView.reloadData()。这样,收集视图将重新计算大小并再次渲染单元格。如果可以确定其indexPath,也可以选择在集合视图中重新加载单个单元格。
注意:请注意CollectionViewFlowLayout以及它指示单元格的大小。建议您通过layout.estimatedHeight
告知流布局单元的估计高度。