【问题标题】:UICollectionView referenceSizeForHeaderInSection animationUICollectionView 参考SizeForHeaderInSection 动画
【发布时间】:2017-07-29 18:15:09
【问题描述】:

是否可以为 UICollectionView 标头(也称为UICollectionElementKindSectionHeader)大小更改的帧更改设置动画?

换句话说,我希望我的 UICollectionView 标头有两个不同的可能帧,展开(更大的高度)和折叠模式(更小的高度)。通过在某处点击一个按钮,我希望标题通过自定义动画在展开和折叠模式之间切换。

当前我已将其设置为:

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, referenceSizeForHeaderInSection section: Int) -> CGSize {
    return CGSize(width: 0, height: HEADER_HEIGHT)
}

我通过在点击按钮时调用此函数来更改集合视图的高度

HEADER_HEIGHT = HEADER_HEIGHT == 100 ? 200 : 100
self.collectionView?.collectionViewLayout.invalidateLayout()

这可行,但我还没有找到有关动画帧更改的文档。这甚至可能吗?

【问题讨论】:

  • 看来你的问题和this one差不多,可惜没有人回答。

标签: ios swift uicollectionview


【解决方案1】:

您可以通过在 UIView 的动画块中调用任何可动画视图更改来为它们设置动画:

    UIView.animate(withDuration: 0.5) {
        self.collectionView?.collectionViewLayout.invalidateLayout()
    }

【讨论】:

  • 这似乎可以为标题的contentView 设置动画,但似乎无法为调整标题视图的大小设置动画?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-29
相关资源
最近更新 更多