所谓gif动态图就是一张张连拍的图片连续快速放映所形成的效果图片。而ios中并没有这种格式的图片,但是我们可以通过UIImageView来实现。
1.将你获得的图片资源放在Supporting Files中
2.实现
我们在UIImageView中有下面两个属性
@property(nonatomic,retain)UIImage *image;
@property(nonatomic,copy)NSArray *animationImages; // The array must contain UIImages. Setting hides the single image. default is nil
我们用的最多的是第一个属性,就是让它显示一张图片。第二个属性是给它设置一个动画播放的数组,里面存的是图片(不是图片的名字),设置了,会隐藏第一张图。
- (void)viewDidLoad
{
[superviewDidLoad];
// Do any additional setup after loading the view.
//创建一个imageView,居中,我选的图片大小是31*52
UIImageView *imageView=[[UIImageViewalloc]initWithFrame:CGRectMake(320/2-31/2,self.view.frame.size.width/2-52/2,31, 52)];
//创建一个数组,用来存图片,我的由10张图生成
NSMutableArray *imageArr=[NSMutableArrayarray];
//将图片存入数组中
for (int i=0; i<10; i++) {
NSMutableString *imageName=[NSMutableStringstringWithFormat:@"%d.png",i];
UIImage *img=[UIImageimageNamed:imageName];
NSLog(@"imageName=%@",imageName);
[imageArr addObject:img];
}
//设置播放数组
[imageView setAnimationImages:imageArr];
//设置播放持续的时间,多久将图片播放一轮
[imageView setAnimationDuration:1.0];
//开始播放,动态图效果就出现了
[imageView startAnimating];
[self.view addSubview:imageView];
[imageView release];
}