帧动画:一张一张顺序播放的动画
- 准备好一些图片,为方便使用,图片按数字顺序命名。
- 搭建UI界面,storyboard中拖入UIImageView和两个控制按钮。
- 按钮拖线到控制器,实现方法:
核心代码:
#pragma mark - 开始动画
- (IBAction)startAnimation {
// 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.03333 20 * 0.0333
self.imageView.animationDuration = 1.0;
// 开始动画
[self.imageView startAnimating];
}
#pragma mark - 结束动画
- (IBAction)overAnimation {
[self.imageView stopAnimating];
}
点击开始按钮开始动画,点击停止按钮动画停止。