利用UIImageView实现简单的帧动画
在开发中我们经常要展示一些具有动态效果的图片,就像我们所见到的gif格式的图片那样,其实这样简单的动画只要我们获得动画的每一帧图片,就可以利用UIImageView实现了。
比如我有以下一组图片资源
我们可以利用这些图片实现一个小鸟飞翔的动画
NSArray * imgsArr = @[[UIImage imageNamed:@"1.jpg"],[UIImage imageNamed:@"2.jpg"],[UIImage imageNamed:@"3.jpg"],[UIImage imageNamed:@"4.jpg"],[UIImage imageNamed:@"5.jpg"],[UIImage imageNamed:@"6.jpg"],[UIImage imageNamed:@"7.jpg"]];
// 设置动画图片数组
[imageView setAnimationImages:imgsArr];
// 设置动画持续时间
[imageView setAnimationDuration:0.5];
// 设置动画重复次数 (当值为0时,表示无限次)
imageView.animationRepeatCount = 5;
// 开始动画
[imageView startAnimating];
效果如下:
利用UIWebView加载gif动图
我们使用UIWebView加载gif动图的主要目的是为了使用html中的<img>
标签,那么我们来看一下是如何实现的:
NSURL * baseURL = [[NSBundle mainBundle] resourceURL]; // 获得工程的根目录url
NSString * gifHtmlStr = @"<img src='loading.gif', style='width:100%; height:calc(width)'>"; // 创建一段<img>标签的html
UIWebView * gifWeb = [[UIWebView alloc] initWithFrame:CGRectMake(100, 100, 40, 40)];
[gifWeb loadHTMLString:gifHtmlStr baseURL:baseURL]; // 加载html语句
[self.view addSubview:gifWeb];
⚠️ 注意:创建的含有<img>
标签的语句中一定要对<img>
标签进行宽高样式的设置,不然gif图片会按照它本身的像素尺寸显示,这里是将宽高设置成与webView
同宽高:style='width:100%; height:calc(width)'
,你也可以自定义<img>标签的宽高,例如:style='width:20px; height:20px'
版权声明:出自MajorLMJ技术博客的原创作品 ,转载时必须注明出处及相应链接!