用UIImageVeiw来实现gif动态图

来源:互联网 发布:日语红宝书软件下载 编辑:程序博客网 时间:2024/04/28 04:21

所谓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];

    

}


0 0