UICollectionView不能折叠或删除补充视图

我有一个使用stream布局的uicollectionview,它有一个补充的标题视图,这是一个我只是有时想要显示的视图。 所以基本上我想有一个button,单击时,将从收集视图中删除补充视图,并重新放置集合视图中的所有项目,考虑到标题已经消失。 这可能吗? 我用很多方法反复尝试过。 更改引用标题大小,更改我的答案委托方法的标题大小,使布局无效,重新加载数据等等等等我错过了什么?

我刚刚进行了testing。 我认为这与使用UIDynamics相关,UIDynamics中的是什么会覆盖我的代表响应头部分参考大小?

在您的委托的布局方法中,返回适合您感兴趣的状态的大小:

- (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]; 

收集视图将要求布局对象的新信息,这将反过来要求你的代表。 我相信这也会改变这种变化。