我有一个动画,我正在使用UIImageView显示:
imageView.animationImages = myImages; imageView.animationDuration = 3; [imageView startAnimating];
我知道我可以使用stopAnimating来阻止它,但我想要的是能够暂停它.原因是当你调用stop时,你的动画图像都没有显示出来,而我希望最后一个在我按下按钮时保持最新状态.
我已经尝试将持续时间设置为更大的数字,但这会导致所有图像也消失.必须有一个非常基本的方法来做到这一点?
此代码将在动画过程中暂停动画对象的当前位置.如果你记录其他变量,如时间或进度或你需要的任何东西,再次恢复动画应该是相当简单的.
UIView *viewBeingAnimated = //your view that is being animated viewBeingAnimated.frame = [[viewBeingAnimated.layer presentationLayer] frame]; [viewBeingAnimated.layer removeAllAnimations]; //when user unpauses, create new animation from current position.
嗯...因为似乎没有人知道我猜这是不可能的.
我继续写我自己UIView
,一个UIImageView
subview
,一个使用NSTimer
到的图像之间进行切换.这样做的好处是我可以在闲暇时暂停和恢复计时器,性能似乎不是问题.