是否可以为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()
这有效,但我还没有找到有关动画帧更改的文档。这甚至可能吗?
答案 0 :(得分:2)
您可以通过在UIView的动画块中调用它们来设置任何可动画视图更改的动画:
UIView.animate(withDuration: 0.5) {
self.collectionView?.collectionViewLayout.invalidateLayout()
}