欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

UIImageView的序列帧动画

程序员文章站 2022-03-25 21:27:26
...

1.1 加载所有的图片

NSMutableArray<UIImage *> *imageArr = [NSMutableArray array];
for (int i = 0; i < 20; i++) {
       // 获取图片的名称
       NSString *imageName = [NSString stringWithFormat:@"%d", i + 1];
       // 创建UIImage对象
       UIImage *image = [UIImage imageNamed:imageName];
       // 加入数组
       [imageArr addObject:image];
}
// 设置动画图片
self.imageView.animationImages = imageArr;
// 设置动画的播放次数
self.imageView.animationRepeatCount = 0;
// 设置播放时长
// 1秒30帧,一张图片的时间 = 1/30 = 0.0333   20 * 0.0333
self.imageView.animationDuration = 0.5;
// 开始动画
[self.imageView starAnimation];
// 有时我们需要在动画播放完毕后,执行另外一种动画(回到初始动画)
// 需要用到"延迟":延迟时间为上一个动画的播放时间
// Selector 方法
// Object 参数
// afterDelay 延迟时间
NSSelectorFromString(NSString *_Nonnull aSelectorName)

[self performSelector:@selector(founctionName) withObject:nil afterDelay:self.imageView.animationDuration];
在需要"停止动画"的方法内调用:
[slef.imageView stopAnimation];