如何取消UIView动画并跳到最后?

问题描述:

我想取消正在运行的UIView块动画并跳到它的结尾。如何取消UIView动画并跳到最后?

我知道,用选项UIViewAnimationOptionBeginFromCurrentState开始一个新的动画会停止以前的动画,但不是从当前状态开始,我想从前一个动画的“最终状态”开始。

有没有办法做到这一点?

+0

听起来就像你需要一种缓存结束位置的方法,然后将其与调用/调用结合使用,以立即进行所需的更改,无论是颜色更改还是setFrame等。 – Luke 2012-04-20 09:29:58

如果向视图的图层发送removeAllAnimations消息,它应该删除当前活动的动画。此外,因为系统将视图属性设置为其最终值作为动画的一部分,视图应该跳到它的最终位置,而无需执行其他任何操作。