gpt4 book ai didi

ios - 如何使用持续时间为单个 UICollectionView 单元格设置动画

转载 作者:行者123 更新时间:2023-11-29 02:04:19 31 4
gpt4 key购买 nike

我正在尝试为第一个单元格的高度和其余单元格设置动画以向上或向下滚动。单元格内部是带有 .ScaleAspectFill 的 ImageView

如果转换与 invalidateLayout() 和 sizeForItemAtIndexPath 交互,我设法做到这一点,但我不知道如何动画到结束状态

这是我正在做的:

let cell = collectionView!.cellForItemAtIndexPath(NSIndexPath(forItem: 0,    inSection: 0)) as! HomeFeedCell
var size:CGSize = getNewSize(cell)

UIView.transitionWithView(collectionView!, duration: duration, options: .CurveEaseOut | .LayoutSubviews, animations: {
cell.frame.size.height = size.height
}, completion: nil)

这会为第一个单元格设置动画,但不会移动其余单元格。我尝试了 invalidateLayout() 或重新加载动画 block 内的可见单元格,但它给出了奇怪的结果

最佳答案

因此,如果有人遇到同样的问题,答案是也调用 Collection View 的 performBatchUpdates 并进行零更新: block

let cell = collectionView!.cellForItemAtIndexPath(NSIndexPath(forItem: 0,    inSection: 0)) as! HomeFeedCell
var size:CGSize = getNewSize(cell)

UIView.transitionWithView(collectionView!, duration: duration, options: .CurveEaseOut | .LayoutSubviews, animations: {
cell.frame.size.height = size.height
}, completion: nil)

collectionView!.performBatchUpdates(nil, completion: nil)

关于ios - 如何使用持续时间为单个 UICollectionView 单元格设置动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29969186/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com