改变 UIImageView 动画速度

Posted

技术标签:

【中文标题】改变 UIImageView 动画速度【英文标题】:Changing UIImageView animation speed 【发布时间】:2009-04-19 18:20:28 【问题描述】:

我正在使用 UIImageView 为一堆图像设置动画。我知道我可以通过改变animationDuration来改变速度,但这似乎在动画重新启动之前不会生效。

我的问题是,除了不想重新启动动画,因为这限制了我每个周期只能改变一次速度,似乎也没有办法找出当前的帧正在显示,因此我必须依靠计时器来“猜测”它是哪一个。

所以我的问题是,是否有办法在不重新启动动画的情况下改变速度,如果没有,是否有办法避免上述问题?我不太热衷于编写自己的动画类,但如果没有更好的解决方案,可能最终不得不这样做。

【问题讨论】:

【参考方案1】:

我不确定这是否适用于UIImageView 超类,但UIView 类具有以下属性,默认为NO

setAnimationBeginsFromCurrentState:(BOOL)fromCurrentState

在更改为YES 并调用commitAnimations 方法后,对beginAnimations:context: 的后续调用将在动画之前停止的位置开始。

【讨论】:

我认为他要问的是 UIImageViews 能否将一组图像作为“动画”循环播放,而不是传统的启用 Core-Animation 的效果。

以上是关于改变 UIImageView 动画速度的主要内容,如果未能解决你的问题,请参考以下文章

当动画 UIImage 被分配两次时,UITableViewCell 中的 UIImageView 没有动画

UIImage 从一个 UIImageView 移动到另一个 UIImageView 的动画

通过图像更改为单个 UIImageView 编写多个动画

UIImage 视图从一个图像动画到下一个图像

避免在UIImageView中拉伸UIImage

避免在我的 UIImageView 中拉伸 UIImage