我有一个动画功能,我在应用程序的许多其他部分中使用,它工作得很好:
class func pulse(view: UIView, sizeMultiplier: Float, duration: NSTimeInterval, repeatCount: Float = 1.0) {
let pulseAnimation = CABasicAnimation(keyPath: "transform.scale")
pulseAnimation.duration = duration
pulseAnimation.toValue = NSNumber(float: sizeMultiplier)
pulseAnimation.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut)
pulseAnimation.autoreverses = true
pulseAnimation.repeatCount = repeatCount
view.layer.addAnimation(pulseAnimation, forKey: nil)
}
但是由于某些原因,我无法在
UICollectionView
中设置单元格的动画在我的
didSelectItemAtIndexPath
函数中(正在调用,我用断点检查),我有:let cell = collectionView.dequeueReusableCellWithReuseIdentifier("cell", forIndexPath: indexPath) as! ModuleCell
Animations.pulse(cell, sizeMultiplier: 2.0, duration: 0.2, repeatCount: 2)
有什么想法吗?
最佳答案
将代码更改为
let cell = collectionView.cellForItemAtIndexPath(indexPath)
当前创建/出列一个新单元格,而不是检索当前单元格。