您的当前位置:首页正文

给HUD提示框添加GIF图小DEMO

来源:华佗小知识

直接上示例代码:


#import "MBProgressHUD.h"  //导入头文件,也可以自己自定义


#import "UIImage+GIF.h"  //导入SDWebImage中的UIImage+GIF.h文件,这个文件是关键

接下来就是ViewDidLoad中的代码了:


NSData *data = [NSData dataWithContentsOfURL:url];

UIImage  *image=[UIImage sd_animatedGIFWithData:data];

UIImageView *imageView = [[UIImageView alloc]init];

imageView.image =image;

MBProgressHUD *HUD = [MBProgressHUD showHUDAddedTo:self.view animated:YES];

HUD.color = [UIColor grayColor];

HUD.mode = MBProgressHUDModeCustomView;

HUD.labelText = @"加载中。。。";

HUD.customView = imageView;

全部的代码都在这里了(哦!对了,不设置frame自动默认是图片大小,貌似UIImageView的大小最小就是图片的大小,再设怎么小都没有用)


这就完成了!

我们也可以用系统自带的方法来实现动画效果:

直接上代码:

// 提前准备好4张图片

UIImage *image1 = [UIImage imageNamed:@"/Users/jijiawei/Desktop/image1.jpg"];

UIImage *image2 = [UIImage imageNamed:@"/Users/jijiawei/Desktop/image2.jpg"];

UIImage *image3 = [UIImage imageNamed:@"/Users/jijiawei/Desktop/image3.jpg"];

UIImage *image4 = [UIImage imageNamed:@"/Users/jijiawei/Desktop/image4.jpg"];

// 创建一个UIImageView

UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(100, 200, 100, 100)];

// 将图片方法UIImageView的动画数组里面

imageView.animationImages = [NSArray arrayWithObjects:image1,image2,image3,image4, nil];

// 设置UIImageView的动画时间(动画用时)

imageView.animationDuration = 1.0;

// 永远重复(如果是1,就是1次,以此类推。。)

imageView.animationRepeatCount = 0;

// 开始动画

[imageView startAnimating];

// 添加到self.View上面

[self.view addSubview:imageView];

以下是全部代码截图: