第一步, 我将UIImageView设置成一个属性
@property(nonatomic, retain)UIImageView *imageAnimation;
第二步, 创建一个ImageView的对象
self.imageAnimation = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 375, 667)];
[self.view addSubview:self.imageAnimation];
[_imageAnimation release];
第二步, 把需要做成GIF图的所有图片拖至工程之后, 把图片的名放进一个数组中, 其中我将数组定义成了一条属性.
我的图片名字是01.jpg …. 所以是%02ld.jpg
self.picArr = [NSMutableArray array];
for (NSInteger i = 0 ; i < 81; i++) {
//拼接图片的名
NSString *picName = [NSString stringWithFormat:@"knockout_%02ld.jpg",i];
//NSLog(@"%@",picName);
//根据图片名找到对应图片.
UIImage *image = [UIImage imageNamed:picName];
// 把图片加到数组中.
[self.picArr addObject:image];
}
第三步 , 设置动画的图片数组,播放时间,次数. 然后开始播放
self.imageAnimation.animationImages = self.picArr;
self.imageAnimation.animationDuration = 5;
self.imageAnimation.animationRepeatCount = 10;
[self.imageAnimation startAnimating];
然后运行就可以开始播放了.
这个也可以和UISlider结合使用, 用这个来控制图片播放的速度.
创建好slider后
// 滑块.
self.slider = [[UISlider alloc] initWithFrame:CGRectMake(100, 600, 200, 20)];
[self.view addSubview:self.slider];
[_slider release];
//最大值,最小值
self.slider.minimumValue = 0.01;
self.slider.maximumValue = 15;
self.slider.value = 8;
[self.slider addTarget:self action:@selector(changeVoice:) forControlEvents:UIControlEventValueChanged];
实现它的方法.
- (void)changeVoice:(UISlider *)slider{
self.imageAnimation.animationDuration = self.slider.value;
// 这句话必须要加,不然就不会在播放了.
[self.imageAnimation startAnimating];
}