gpt4 book ai didi

iPhone : Best way to detect the end of UIImageView image sequence animation

转载 作者:可可西里 更新时间:2023-11-01 03:09:15 25 4
gpt4 key购买 nike

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

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

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

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

代码是这样的

myImageView.animationImages = images; // images is a NSArray of UIImagesmyImageView.animationDuration = 2.0;myImageView.animationRepeatCount = 1;[myImageView startAnimating]

最佳答案

UIImageView 上的 isAnimating 属性在完成动画后应该变为 NO。不过,它不是正式属性(property),因此您无法对其进行观察。您可以在细粒度计时器(如 CADisplayLink 的)上对其进行轮询。

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

UIImageView 上的图像动画很方便,而且不够重量级,无法用来做严肃的动画工作。如果您需要那种精度,请考虑自己动手。

关于iPhone : Best way to detect the end of UIImageView image sequence animation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3770997/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com