我有一个正常工作的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)
}
}