目录
配置过程:
一.创建可变数组,用于存放帧动画的每一张图片
二.使用for循环加载每一张存在在文件中的图片
三.设置动画播放的图片 (放入数组) 把存放了图片对象的数组赋值给imageview的animationImages属性
四.设置动画播放的次数
五.设置动画执行的时间
六.开启动画
七.代码
配置过程:
在实现帧动画的过程中,我们需要图片源,并且为了方便实现,我们将图片的名称统一前缀命名,图片数量为30张,并且需要注意的是,所有存放的帧动画图片大小需一致,这样在播放的过程中能正常的实现图片放映.
img_1-img_30为此示例的30张图片名称.
一.创建可变数组,用于存放帧动画的每一张图片
NSMutableArray *imgArr = [NSMutableArray array];
二.使用for循环加载每一张存在在文件中的图片
for (int i = 0; i < 30; i++) {
// 1.1.获取图片的名称
NSString *imageName = [NSString stringWithFormat:@"%d", i + 1];
// 1.2.加载图片 会自动根据文件名在文件里找,返回图片对象
UIImage *image = [UIImage imageNamed:imageName];//imageName文件名
// 1.3.将image对象放入数组中 把一个个图片对象放到可变数组里面去
[imgArr addObject:image];
}
三.设置动画播放的图片 (放入数组) 把存放了图片对象的数组赋值给imageview的animationImages属性
self.imageView.animationImages = images; //animationImages是NSArray类型
四.设置动画播放的次数
self.imageView.animationRepeatCount = 0;
五.设置动画执行的时间
// 默认情况下:一秒钟30帧,一秒播放30张图片.一张图片的时间:1/30.0=0.033
// 当设置成1.0,播放一轮图片所使用的时间. 1/20.0=0.05
self.imageView.animationDuration = 0.5;
六.开启动画
[self.imageView startAnimating]; //从列表的第一张图片开始播放图片动画
}
七.代码
//
// ViewController.m
// 05-UIImageView的帧动画
//
// Created by Robot_Cao on 18/07/20.
// Copyright © 2018年 Robot_Cao. All rights reserved.
//
#import "ViewController.h"
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIImageView *imageView;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// 1.加载所以的图片
NSMutableArray *images = [NSMutableArray array];
for (int i = 0; i < 20; i++) {
// 1.1.获取图片的名称
NSString *imageName = [NSString stringWithFormat:@"%d", i + 1];
// 1.2.加载图片 会自动根据文件名在文件里找,返回图片对象
UIImage *image = [UIImage imageNamed:imageName];//imageName文件名 imageNamed:The image object for the specified file
// 1.3.将image对象放入数组中 把一个个图片对象放到可变数组里面去
[images addObject:image];
}
// 2.设置动画播放的图片 (放入数组) 把存放了图片对象的数组赋值给imageview的animationImages属性
self.imageView.animationImages = images; //animationImages是NSArray类型
// 3.设置动画播放的次数
self.imageView.animationRepeatCount = 0;
// 4.设置动画执行的时间
// 默认情况下:一秒钟30帧,一秒播放30张图片.一张图片的时间:1/30.0=0.033
// 当设置成1.0,播放一轮图片所使用的时间. 1/20.0=0.05
self.imageView.animationDuration = 0.5;
// 6.查看是否正在动画
// self.imageView.isAnimating
}
/*
对上面的总结
首先创立一个可变数组来接收将来要接收的图片对象 NSMutableArray
1.获取图片名称 NSString 来获取
2.根据图片名称找到图片对象 UIImage
3.把图片对象赋值给装图片的数组 数组名 addObject : 图片对象
4.把数组赋值给imageview的animationImages属性 self.imageview.animationImages =
5.给imageview的其他属性赋值
*/
#pragma mark - 对动画的操作
- (IBAction)startAnimating {
[self.imageView startAnimating]; //从列表的第一张图片开始播放图片动画
}
- (IBAction)stopAnimating {
[self.imageView stopAnimating];
}
@end