UICollectionReusableView动态高度

时间:2017-12-26 10:51:25

标签: ios swift uicollectionview

我有一个UICollectionReusableView,我想动态地改变它的高度。

我试过这个:

view.frame = CGRect(x: view.frame.origin.x, y: view.frame.origin.y, width: 500, height: 100)

无济于事。

After running the code mentioned above

Before running the code mentioned above

我希望删除第二张照片中的大空白区域,并且根据某些条件我隐藏了一个视图,因此我无法从尺寸检查器设置高度。

运行代码后,实际内容似乎越来越小,但UICollectionReusableView的高度仍然停留在Size Inspector的大小上。

我需要动态设置UICollectionReusableView的高度。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我猜你想要 Instagram喜欢个人资料,对吧?最好的办法是使用像你一样的UICollectionView并将上半部分作为UICollectionViewHeader(在同一个集合视图中)。对于标题,您实际上并没有像上面那样设置它们的高度。这些标头有一个方法,您可以在代码中调用它来设置高度,如下所示:

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, referenceSizeForHeaderInSection section: Int) -> CGSize {
    return CGSize(width: view.frame.width, height: 200)
}