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];
下一篇: 常见问题1