用SDWebImage加载FLAnimatedImage

效果

源码

https://github.com/YouXianMing/Animations

//
//  GifPictureController.m
//  Animations
//
//  Created by YouXianMing on 16/2/21.
//  Copyright © 2016年 YouXianMing. All rights reserved.
//

#import "GifPictureController.h"
#import "FLAnimatedImage.h"
#import "FLAnimatedImageView.h"
#import "UIImageView+WebCache.h"
#import "UIView+SetRect.h"
#import "GCD.h"@interface GifPictureController ()@end@implementation GifPictureController- (void)setup {[super setup];// https://github.com/Flipboard/FLAnimatedImage
    self.contentView.layer.masksToBounds = YES;FLAnimatedImageView *gifImageView = [[FLAnimatedImageView alloc] init];gifImageView.frame                = CGRectMake(0.0, 0.0, 100.0, 100.0);[self.contentView addSubview:gifImageView];__weak GifPictureController *wself = self;NSString *imagePath                = @"http://images2015.cnblogs.com/blog/607542/201601/607542-20160123090832343-133952004.gif";NSData   *gifImageData             = [self imageDataFromDiskCacheWithKey:imagePath];if (gifImageData) {[wself animatedImageView:gifImageView data:gifImageData];} else {NSURL *url = [NSURL URLWithString:imagePath];[[SDWebImageDownloader sharedDownloader] downloadImageWithURL:urloptions:0progress:nilcompleted:^(UIImage *image, NSData *data, NSError *error, BOOL finished) {[[[SDWebImageManager sharedManager] imageCache] storeImage:imagerecalculateFromImage:NOimageData:dataforKey:url.absoluteStringtoDisk:YES];[[GCDQueue mainQueue] execute:^{[wself animatedImageView:gifImageView data:data];}];}];}
}- (void)animatedImageView:(FLAnimatedImageView *)imageView data:(NSData *)data {FLAnimatedImage *gifImage = [FLAnimatedImage animatedImageWithGIFData:data];imageView.frame           = CGRectMake(0, 0, gifImage.size.width, gifImage.size.height);imageView.center          = self.contentView.middlePoint;imageView.animatedImage   = gifImage;imageView.alpha           = 0.f;[UIView animateWithDuration:1.f animations:^{imageView.alpha = 1.f;}];
}- (NSData *)imageDataFromDiskCacheWithKey:(NSString *)key {NSString *path = [[[SDWebImageManager sharedManager] imageCache] defaultCachePathForKey:key];return [NSData dataWithContentsOfFile:path];
}@end

细节

转载于:https://www.cnblogs.com/YouXianMing/p/5208142.html

用SDWebImage加载FLAnimatedImage相关推荐

  1. sdwebimage 加载webp图片

    sdwebimage加载 webp / git  配置宏 - (void)setUpCusPhoto {_scrollView = [UIScrollView new];_scrollView.fra ...

  2. 完美解决SDWebImage加载多个图片内存崩溃的问题

    SDWebImage大家肯定都恨熟悉了,国内外太多的App使用其进行图片加载. 但是最近在使用过程中发现,我用SDWebImage加载多个图片,类似微博动态那种,在加载的过程中.我发现当图片分辨率比较 ...

  3. 解决SDWebimage加载过多过大图片导致内存爆表崩溃的问题

    问题: Restore the connection to "xxxx" and run "xx" again, or if "xx" is ...

  4. 使用SDWebImage加载多个图片内存崩溃的问题

    使用SDWebImage加载多个图片时,在加载的过程中,当图片分辨率比较大的时候,加载几张图片就崩溃了.需要对图片进行处理,避免内存崩溃问题. 一.预加载图片URL数组 预加载URL数组 [[SDWe ...

  5. 解决MWPhotoBrowser中的SDWebImage加载大图导致的内存警告问题

    本文转载至 http://www.superqq.com/blog/2015/01/22/jie-jue-mwphotobrowserzhong-de-sdwebimagejia-zai-da-tu- ...

  6. SDWebImage 加载图片流程

    SDWebImage是老生常谈的三方,这篇博客算是一个笔记吧,记录下SDWebImage源码相关加载图片流程. 注1: 整体流程基于 SDWebImage 5.0.6 版本. 注2: 本文只对iOS执 ...

  7. SDWebImage 加载Https自签名证书时的图片问题

    你是否遇到了这种情况,好不容易把自签名HTTPS证书配置好了,访问https接口也成功了,但是图片加载不出来? 传了SDWebImageAllowInvalidSSLCertificates 还是没效 ...

  8. ios SDWebImage 加载图片流程

    入口 setImageWithURL:placeholderImage:options: 会先把 placeholderImage 显示,然后 SDWebImageManager 根据 URL 开始处 ...

  9. 加载大量图片内存暴增导致闪退 Terminated due to memory issue(内存暴增SDWebImage加载高清大图崩溃)

    上传图片一定要压缩,一定要压缩,一定要压缩.(目前手机拍摄的图片一张几M,上传后不压缩,如果几十张一块加载展示时内存画面有点美!如果是后台上传除了需要高清以外的图也需要压缩处理) 下载大量图片时一定要 ...

最新文章

  1. php用正则去掉一些固定字符,用PHP正则表达式清除字符串的空白
  2. Linux rm 删除指定文件外的其他文件 方法汇总
  3. QtJava笔记-Qt与Java进行SSL双向认证(Qt服务端,Java客户端)
  4. HTML中的父选择器,html – css4中是否有父选择器?
  5. 7-11 分段计算居民水费
  6. 现在很多人都在网上找富业
  7. Python标准库--time模块的详解
  8. python自动化学习之语法学习(判断语句和循环语句)
  9. Kudu:支持快速分析的新型Hadoop存储系统
  10. 【程序人生】程序员接私活常用平台汇总
  11. 谷歌浏览器无法登陆_论坛上传图片后自动退出登陆?你不是一个人,原因及解决方法来了...
  12. 手机直播app制作大揭秘之视频直播系统方案
  13. 维修电工技能实训考核装置
  14. 计算机结构系统的发展趋势,计算机体系结构的现状及发展趋势.docx
  15. 首都师范 博弈论 5 2 1帕累托最优
  16. 软件能力成熟度模型CMM
  17. CSS3回炉计划-编码技巧
  18. vscode设置C++代码格式化(Clang-Format)
  19. # 我的家乡--永平风景
  20. sublimeText3配置sublimeLinter

热门文章

  1. [LeetCode] 3Sum Closest
  2. java读写文件总结
  3. 【Node学习】—运行node服务demo
  4. win7计算机未连接网络连接,解决win7能上网但是网络图标显示未连接的方法-win7之家...
  5. mysql 体重 类型 身高_MySQL 数据类型
  6. 去西藏旅游一次要花多少钱,还有8/9月份去那边适合嘛?
  7. 求教一个关于网站抓取生成地图的问题
  8. 退休后你和原工作单位还有联系吗?
  9. 男朋友让我纹他的名字,但我不想纹怎么办?
  10. 人类历史上有哪些逆天的文物?