SDWebImage动画加载图片
SDWebImage动画加载图片

效果

源码
https://github.com/YouXianMing/Animations
//
// PictureCell.m
// SDWebImageLoadImageAnimation
//
// Created by YouXianMing on 15/4/30.
// Copyright (c) 2015年 YouXianMing. All rights reserved.
// #import "PictureCell.h"
#import "UIImageView+WebCache.h"
#import "PictureModel.h"
#import "UIView+AnimationProperty.h" @interface PictureCell () @property (nonatomic, strong) UIImageView *iconImageView; @end @implementation PictureCell - (void)setupCell { self.selectionStyle = UITableViewCellSelectionStyleNone;
} - (void)buildSubview { self.iconImageView = [[UIImageView alloc] initWithFrame:CGRectMake(, , , )];
[self addSubview:self.iconImageView];
} - (void)loadContent { // 图片模型
PictureModel *model = self.data; // 进行图片下载
SDWebImageManager *manager = [SDWebImageManager sharedManager]; // 加载图片(动画逻辑)
[manager downloadImageWithURL:model.pictureUrl options: progress:nil
completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished, NSURL *imageURL) { if (image) { // 如果没有执行过动画
if (model.haveAnimated.boolValue == NO) { // 将动画设置成已经执行了
model.haveAnimated = @(YES); self.iconImageView.alpha = .f;
self.iconImageView.image = image;
self.iconImageView.scale = .f; // 执行动画
[UIView animateWithDuration:0.5f animations:^{ self.iconImageView.alpha = .f;
self.iconImageView.scale = .f;
}]; } else { // 直接设置
self.iconImageView.image = image;
self.iconImageView.scale = .f;
}
}
}];
} @end
细节

SDWebImage动画加载图片的更多相关文章
- [Android]异步加载图片,内存缓存,文件缓存,imageview显示图片时增加淡入淡出动画
以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/3574131.html 这个可以实现ImageView异步加载 ...
- 模仿SDWebImage实现异步加载图片
模仿SDWebImage实现异步加载图片 SDWebImage想必大家都不陌生吧,要实现它的图片异步加载功能这个还是很简单的. 注意:此处我只实现了异步加载图片,并没有将文件缓存到本地的打算哦:) 源 ...
- 使用SDWebImage淡入淡出的方式加载图片
使用SDWebImage淡入淡出的方式加载图片 效果: 请通过以下方式下载源码: 找到它修改文件的地方: 以下是使用源码: // // ViewController.m // SDWebImageFa ...
- iOS网络加载图片缓存与SDWebImage
加载网络图片可以说是网络应用中必备的.如果单纯的去下载图片,而不去做多线程.缓存等技术去优化,加载图片时的效果与用户体验就会很差. 一.自己实现加载图片的方法 tips: *iOS中所有网络访问都是异 ...
- Glide 加载图片
//通过model获取到图片的url,将Url转换成bitmap对象: //设置不保存内存和硬盘缓存, 1 Glide.with(mContext).load(model.getVideoUrl()) ...
- WPF循环加载图片导致内存溢出的解决办法
程序场景:一系列的图片,从第一张到最后一张依次加载图片,形成“动画”. 生成BitmapImage的方法有多种: 1. var source=new BitmapImage(new Uri(" ...
- 使用UIL(Universal-Image-Loader)异步加载图片
概要: Android-Universal-Image-Loader是一个开源的UI组件程序,该项目的目的是实现可重复使用的异步图像加载.缓存和显示.所以,如果你的程序里需要这个功能的话,使用它,因为 ...
- iOS 加载图片选择imageNamed 方法还是 imageWithContentsOfFile?
Apple官方的文档为生成一个UIImage对象提供了两种方法: 1. imageNamed,其参数为图片的名字: 2. imageWithContentsOfFile,其参数也是图片文件的路径. ...
- Android 异步加载图片,使用LruCache和SD卡或手机缓存,效果非常的流畅
Android 高手进阶(21) 版权声明:本文为博主原创文章,未经博主允许不得转载. 转载请注明出处http://blog.csdn.net/xiaanming/article/details ...
随机推荐
- LogStash启动报错:<Redis::CommandError: ERR unknown command 'script'>与batch_count 的 配置
环境条件: 系统版本:centos 6.8 logstash版本:6.3.2 redis版本:2.4 logstash input配置: input { redis { host => &qu ...
- 169.254地址无网关信息 ----- 解决方案 启动DHCP服务
169.254.X.X是Windows操作系统在DHCP信息租用失败时自动给客户机分配的IP地址,.看到地址的时候没有网关. 解决方案 启动DHCP服务 1. 首先确认 路由器 DHCP 服务已 ...
- C# winfrom打印技术初探
最近用到了winform去打印,网上查了一些资料,大概内容: 一 .首先有几个类 PageSetupDialog . PrintDialog .PrintDocument .PrintPreviewC ...
- 通过微信分享链接,后面被加上from=singlemessage&isappinstalled=1导致网页打不开
微信分享会根据分享的不同,为原始链接拼接如下参数: 朋友圈 from=timeline&isappinstalled=0微信群 from=groupmessage&isappi ...
- CALayer及其子类
前言:这个系列要更新Core Animation的内容,但是CALayer是Core Animation的基础. 一 CALayer是什么? 摘自官网的一句话-Layers Provide the B ...
- CentOS 忘记root密码(重置root密码)
首先开机选择Advanced options for ****这一行按回车: 然后选中最后是(recovery mode)这一行按"E"进入编辑页面: 将ro recovery改为 ...
- 【基于初学者的SSH】struts02 数据封装的三种方式详解
struts的数据封装共有3中方式,属性封装,模型驱动封装和表达式封装,其中表达式封装为常用 一:属性封装: 属性封装其实就是自己定义变量,注意变量名要和表单的name属性名一致,然后生成get和se ...
- iReport(模版) 与Jasper(数据填充)生成pdf文档
报表模板生成软件:iReport . 润乾.水晶. 一.Jaspersoft iReport Desiginer 5.60 的使用 1.软件jar包的下载地址与配置 百度云盘下载链接:https:// ...
- Effective C++ 避免数组多态
#include <iostream> #include <cstdlib> using namespace std; class Base { public: int idx ...
- 微信网页授权获取code
<script> var code = GetQueryString('code'); var callback = 'personal.html'; var appId = " ...