如何平滑地动画UICollectionView单元格扩展?

问题描述 投票:0回答:1

已经为此工作了一段时间,但似乎无法弄清楚。

我已经成功实现了在UICollectionView中选定单元格时对单元格中截断的UILabel文本进行垂直扩展的动画效果,但是我遇到了一个问题,即在单元格扩展时,其正下方的单元格是“捕捉”到它的新位置,而不是随着上方所选单元格的增长而平滑地向下动画。当我再次轻按该单元以使其折叠时,其下方的单元将按预期的方向平滑地动画。

这是单元格选择代码中的我的动画块:

c.toggleOverviewExpansion() // Alternate between UILabel.numberoflines = 0 and 5 
UIView.animate(withDuration: 2, animations: {     
    self.view.layoutIfNeeded()       
})       
collectionView.scrollToItem(at: indexPath, at: .top, animated: true)

我正在使用UICollectionViewDiffableDataSource和UICollectionViewCompositionalLayout,如果有什么区别。对于单元格的扩展和收缩,我是否缺少一些流畅的动画?

ios swift uicollectionview uikit uicollectionviewcell
1个回答
0
投票

尝试将集合动画放到主线程上,也许可行:

DispatchQueue.main.async {
           self.collectionView.scrollToItem(at: indexPath, at: .top, animated: true)
    }
© www.soinside.com 2019 - 2024. All rights reserved.