UICollectionView无法折叠或删除补充视图

时间:2014-06-16 18:21:43

标签: ios ipad uicollectionview

我有一个使用流布局的uicollectionview,它有一个补充的标题视图,这是我有时只想显示的视图。所以基本上我想要一个按钮,当点击它时,将从集合视图中删除补充视图,并重新放置集合视图中的所有项目,同时考虑标题已消失。这可能吗?我在很多方面都反复尝试过。更改引用标头大小,更改我对标题大小的委托方法的答案,使布局无效,重新加载数据等等。我缺少什么?

我刚刚进行了测试。我认为它与使用UIDynamics相关,UIDynamics中的哪些内容会覆盖标题段引用大小的委托响应?

1 个答案:

答案 0 :(得分:5)

在您的委托的布局方法中,为您感兴趣的任何州返回适当的大小:

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

集合视图将向Layout对象询问新信息,然后再询问您的代理人。我相信它也会激发这种变化。