iPhone:检测 UIImageView 图像序列动画结束的最佳方法

2023-11-22

我们知道UIImageView对图像序列动画有很好的支持。我们可以轻松创建 UIImage 对象的数组,设置animationImages属性,配置动画持续时间,重复计数等,然后直接触发。但似乎没有办法知道这个动画什么时候结束。

假设我有十张图像,然后我想用它们运行一个动画(重复次数 = 1)。当动画结束时,我想运行一些其他代码。知道动画已经结束的最佳方法是什么?

我已经明白我可以创建一个NSTimer并安排它在动画持续时间后触发。但如果你需要很高的精度,你真的不能依赖计时器。

所以我的问题是,有没有更好的方法来知道UIImageView图像序列动画在未使用计时器的情况下已结束?

代码是这样的



myImageView.animationImages = images; // images is a NSArray of UIImages
myImageView.animationDuration = 2.0;
myImageView.animationRepeatCount = 1;

[myImageView startAnimating]
  

The isAnimatingUIImageView 上的属性应该转到NO当它完成动画时。不过,它不是正式财产,因此您无法对其进行观察。您可以在细粒度计时器上轮询它(例如CADisplayLink's).

如果您正在寻找这种东西,则没有“动画完成”委托。时间可以根据图像的加载延迟等而变化,不,没有可靠的方法可以准确地知道它何时完成。

UIImageView 上的图像动画内容很方便,但重量级不足以进行严肃的动画工作。如果您需要这种精度,请考虑自己动手。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iPhone:检测 UIImageView 图像序列动画结束的最佳方法 的相关文章

随机推荐