OStack程序员社区-中国程序员成长平台

标题: ios - 如何从 UICollectionViewFlowLayout 为 itemSize 设置动画? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 14:59
标题: ios - 如何从 UICollectionViewFlowLayout 为 itemSize 设置动画?

我正在使用 UICollectionView 在多行和多列上显示一组图形。用户可以使用 pinchGesture 来放大/缩小。

当用户放大图表大小增加并且用户缩小图表大小减小。要更改图形的大小,我只需从 UICollectionViewFlowLayout 更改属性 itemSize。效果很好,但我无法使用以下代码为更改设置动画:

    [UIView transitionWithView:self.theCollectionView
                  duration:0.5f
                   options:UIViewAnimationOptionCurveLinear
                animations:^() {
                    _theFlowLayout.itemSize = cellSize;
                }
                completion:nil];

知道如何制作这种变化的动画吗?

问候,

塞巴斯蒂安。



Best Answer-推荐答案


您可以使用 Collection View 的 performBatchUpdates 方法,该方法将使您的布局无效并重新查询,为任何新值设置动画。

类似这样的:

_theFlowLayout.itemSize = cellSize;
[self.theCollectionView performBatchUpdates:nil completion:nil];

很遗憾,您无法控制动画的时间或曲线。

关于ios - 如何从 UICollectionViewFlowLayout 为 itemSize 设置动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19088861/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4