UICollectionView 无法折叠或移除补充视图
Posted
技术标签:
【中文标题】UICollectionView 无法折叠或移除补充视图【英文标题】:UICollectionView can't collapse or remove supplementary view 【发布时间】:2014-06-16 18:21:42 【问题描述】:我有一个使用流布局的 uicollectionview,它有一个补充标题视图,这是我有时只想显示的视图。所以基本上我想要一个按钮,当单击该按钮时,它会从集合视图中删除补充视图,并且考虑到标题已经消失,还会重新放置集合视图中的所有项目。这可能吗?我在很多方面反复尝试过。更改参考标头大小,更改我对标头大小的委托方法的回答,使布局无效,重新加载数据等等等。我错过了什么?
我刚刚进行了测试。我认为它与使用 UIDynamics 有关,UIDynamics 中的什么内容会覆盖我对标题部分参考大小的委托响应?
【问题讨论】:
同样的问题...考虑将补充视图移动到集合视图单元格。 【参考方案1】:在您的委托的布局方法中,为您感兴趣的任何状态返回适当的大小:
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout referenceSizeForHeaderInSection:(NSInteger)section
if (self.headerVisble)
return CGSizeMake(collectionView.bounds.size.width, 30.0f);
else
return CGSizeZero;
那么当你需要更新布局调用时:
[collectionView.collectionViewLayout invalidateLayout];
collection view 会向 Layout 对象询问新的信息,然后再询问你的委托。我相信它也会激发变化。
【讨论】:
在 9.2.1 上不为我制作动画以上是关于UICollectionView 无法折叠或移除补充视图的主要内容,如果未能解决你的问题,请参考以下文章