【问题标题】:UICollectionView can't collapse or remove supplementary viewUICollectionView 无法折叠或移除补充视图
【发布时间】:2014-06-16 18:21:42
【问题描述】:

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

我刚刚进行了测试。我认为它与使用 UIDynamics 有关,UIDynamics 中的什么内容会覆盖我对标题部分参考大小的委托响应?

【问题讨论】:

  • 同样的问题...考虑将补充视图移动到集合视图单元格。

标签: ios ipad uicollectionview


【解决方案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 上不为我制作动画
猜你喜欢
  • 2016-07-23
  • 1970-01-01
  • 2017-07-24
  • 2012-10-03
  • 1970-01-01
  • 2013-02-20
  • 2015-12-22
  • 1970-01-01
  • 2015-06-16
相关资源
最近更新 更多