当触摸图像时,我会开始一个动画放大效果,然后在释放时将其缩小回正常大小。使用 setAnimationBeginsFromCurrentState:YES 可以使缩放效果非常流畅,即使在动画进行过程中你提前松开手指。
然而,我的需求是:如果你触摸图像的时间足够长,使得动画完成后“锁定”更大的尺寸,但如果你提前释放,则让它像平常一样缩小回去。
是否有一种方法可以判断当前是否正在运行动画,或者某个特定的动画是否已经完成?
我认为可以在 touchesStarted 中使用 performSelector:afterDelay: 调用来实现这一点,延迟时间等于动画的长度,并在 touchesEnded 来得及之前取消它,但我不认为这是最好的方法...?
然而,我的需求是:如果你触摸图像的时间足够长,使得动画完成后“锁定”更大的尺寸,但如果你提前释放,则让它像平常一样缩小回去。
是否有一种方法可以判断当前是否正在运行动画,或者某个特定的动画是否已经完成?
我认为可以在 touchesStarted 中使用 performSelector:afterDelay: 调用来实现这一点,延迟时间等于动画的长度,并在 touchesEnded 来得及之前取消它,但我不认为这是最好的方法...?