Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何在自定义UICollectionView布局引擎中更改默认布局动画曲线?_Ios_Swift_Uicollectionview_Uicollectionviewlayout - Fatal编程技术网

Ios 如何在自定义UICollectionView布局引擎中更改默认布局动画曲线?

Ios 如何在自定义UICollectionView布局引擎中更改默认布局动画曲线?,ios,swift,uicollectionview,uicollectionviewlayout,Ios,Swift,Uicollectionview,Uicollectionviewlayout,我有一个集合视图设置,可以使用自定义集合视图布局运行。我可以通过在UICollectionViewLayoutAttribute上更改单元格的变换和alpha来设置单元格出现和消失的动画,但是,我希望将动画曲线更改为使用弹簧+阻尼,以便使单元格在出现时“反弹” 有人知道我怎样才能做到这一点吗 谢谢,将UICollectionView的deleteItems/insertItems/reloadItems调用包装到UIView中。动画持续时间:延迟:选项:动画:完成:调用 例如: let dura

我有一个集合视图设置,可以使用自定义集合视图布局运行。我可以通过在UICollectionViewLayoutAttribute上更改单元格的变换和alpha来设置单元格出现和消失的动画,但是,我希望将动画曲线更改为使用弹簧+阻尼,以便使单元格在出现时“反弹”

有人知道我怎样才能做到这一点吗


谢谢,

将UICollectionView的
deleteItems/insertItems/reloadItems调用包装到
UIView中。动画持续时间:延迟:选项:动画:完成:
调用

例如:

let duration = 0.25 // Hardcoded keyboard animation duration and curve
let curve = UIViewAnimationOptions(rawValue: 7 << 16) // ↑
UIView.animate(withDuration: duration, delay: 0, options: curve, animations: ({ [weak self] in
    self?.collectionView?.performBatchUpdates({
        self?.collectionView?.deleteItems(at: deletedIPs)
        self?.collectionView?.insertItems(at: insertedIPs)
        self?.collectionView?.reloadItems(at: updatedIPs)
    }, completion: nil)
}), completion: nil)
let duration=0.25//硬编码键盘动画持续时间和曲线

让曲线=UIViewAnimationOptions(rawValue:7您目前使用的代码是什么?您可以通过使用
UIKitDynamics
来实现这一点。有一篇关于它的非常好的博客文章。您想下载博客中使用的代码这里是存储库,我使用的是一个自定义UICollectionViewLayout子类,它覆盖了以下方法:
initialLayoutAttributesForAppearingItemAtIndexPath