【发布时间】:2020-02-11 20:04:29
【问题描述】:
我有一个标准的工作 uicollectionview,我的问题是当我垂直滚动时,uicollectionview 直到滚动完全停止后才会响应任何后续触摸(即停止滚动)。
我能够将问题归结为willDisplayCell 委托方法,在该方法中我使用气泡效果为每个显示单元格设置动画。我很好奇其中是否有什么可以建议我在适当响应触摸的同时仍然可以保留动画的位置?
当我完全注释掉委托方法时,对触摸和滚动的响应非常好。
这是我在 willDisplayCell 委托方法中的代码:
func collectionView(_ collectionView: UICollectionView, willDisplay cell: UICollectionViewCell, forItemAt indexPath: IndexPath) {
cell.transform = CGAffineTransform(scaleX: 0.01, y: 0.01)
DispatchQueue.main.async {
let delay = 0.035
UIView.animate(withDuration: 1, delay: delay, usingSpringWithDamping: 0.75, initialSpringVelocity: 0.8, options: .curveEaseOut, animations: {
cell.transform = CGAffineTransform(scaleX: 1, y: 1)
self.view.layoutIfNeeded()
}, completion: nil)
}
}
【问题讨论】:
-
这些链接会帮助你,medium.com/@nathangitter/…
标签: ios swift uicollectionview uicollectionviewcell cgaffinetransform