Iva*_*van 32 iphone cocoa-touch uikit
我有一个使用UIImageView的动画
myAnimatedView.animationImages = myImages;
myAnimatedView.animationDuration = 1;
myAnimatedView.animationRepeatCount = 1;
[myAnimatedView startAnimating];
Run Code Online (Sandbox Code Playgroud)
如何判断动画在最后一帧停止还是在该系列图像的最后一帧可见?
先感谢您
小智 74
UIImageView类上的image属性具有以下文档:"如果animationImages属性包含非nil的值,则不使用此属性的内容."
因此,在iOS4中保持动画的最后一帧的技巧是首先将图像属性设置为最后一帧(而animationImages仍为零),然后设置animationImages属性并调用startAnimating.动画完成后,将显示图像属性.不需要回调/委托.
小智 15
您可以将最后一帧的图像设置为UIImageView实例,然后当动画完成时,最后一帧图像仍然可见.这是代码:
// create your array of images
NSArray *images = @[[UIImage imageNamed:@"video1.png"], [UIImage imageNamed:@"video2.png"]];
UIImageView *imageView = [UIImageView new];
imageView.image = images.lastObject;
imageView.animationImages = images;
imageView.animationDuration = 1.0; // seconds
imageView.animationRepeatCount = 1;
[imageView startAnimating];
Run Code Online (Sandbox Code Playgroud)
动画结束后,您可以将UIImageView图像设置为动画的最后一帧.
myAnimatedView.image = [myAnimatedImages objectAtIndex:myAnimatedImages.count - 1]
Run Code Online (Sandbox Code Playgroud)
我不认为有一个委托方法会在animationFinish事件上通知您,因此您需要启动NSTimer与动画相同的持续时间来获取通知.
| 归档时间: |
|
| 查看次数: |
16145 次 |
| 最近记录: |