用SDWebImage渐变加载图片
用SDWebImage渐变加载图片
使用
使用请详细查看源码,只需要给定一个图片地址以及一个placeHolder图片(非必须)即可。
效果
源码
https://github.com/YouXianMing/UI-Component-Collection 中的 SDWebImageViewPlaceHorder
// // PlaceholderImageView.h // SDWebImageViewPlaceHorder // // Created by YouXianMing on 16/8/19. // Copyright © 2016年 YouXianMing. All rights reserved. // #import <UIKit/UIKit.h>@interface PlaceholderImageView : UIView/*** Picture's url string.*/ @property (nonatomic, strong) NSString *urlString;/*** The placeholder's image.*/ @property (nonatomic, strong) UIImage *placeholderImage;/*** Default is UIViewContentModeScaleAspectFill.*/ @property (nonatomic) UIViewContentMode placeholderImageContentMode;/*** Default is UIViewContentModeScaleAspectFill.*/ @property (nonatomic) UIViewContentMode contentImageContentMode;/**PlaceholderImageView's constractor.@param frame The Frame.@param image The placeholderImage.@return The PlaceholderImageView's instancetype.*/ + (instancetype)placeholderImageViewWithFrame:(CGRect)frame placeholderImage:(UIImage *)image;@end
// // PlaceholderImageView.m // SDWebImageViewPlaceHorder // // Created by YouXianMing on 16/8/19. // Copyright © 2016年 YouXianMing. All rights reserved. // #import "PlaceholderImageView.h" #import "UIImageView+WebCache.h"@interface PlaceholderImageView ()@property (nonatomic, strong) UIImageView *placeHoderImageView; @property (nonatomic, strong) UIImageView *contentImageView; @property (nonatomic, strong) NSString *pUrlString;@end@implementation PlaceholderImageView- (void)layoutSubviews {[super layoutSubviews];self.placeHoderImageView.frame = self.bounds;self.contentImageView.frame = self.bounds; }- (instancetype)initWithFrame:(CGRect)frame {if (self = [super initWithFrame:frame]) {self.layer.masksToBounds = YES;self.placeHoderImageView = [[UIImageView alloc] initWithFrame:self.bounds];self.contentImageView = [[UIImageView alloc] initWithFrame:self.bounds];[self addSubview:self.placeHoderImageView];[self addSubview:self.contentImageView];self.contentImageContentMode = UIViewContentModeScaleAspectFill;self.placeholderImageContentMode = UIViewContentModeScaleAspectFill;}return self; }+ (instancetype)placeholderImageViewWithFrame:(CGRect)frame placeholderImage:(UIImage *)image {PlaceholderImageView *placeHolderImageView = [[PlaceholderImageView alloc] initWithFrame:frame];placeHolderImageView.placeholderImage = image;return placeHolderImageView; }#pragma mark - Setter & Getter.- (void)setPlaceholderImage:(UIImage *)placeholderImage {_placeHoderImageView.image = placeholderImage; }- (UIImage *)placeholderImage {return _placeHoderImageView.image; }- (void)setUrlString:(NSString *)urlString {_pUrlString = urlString;_contentImageView.alpha = 0.f;NSURL *url = [NSURL URLWithString:urlString];[_contentImageView sd_setImageWithURL:url completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {if (image) {// Image load from disk or download from network.if (cacheType == SDImageCacheTypeNone || cacheType == SDImageCacheTypeDisk) {[UIView animateWithDuration:0.5f animations:^{_contentImageView.alpha = 1.f;}];} else {_contentImageView.alpha = 1.f;}}}]; }- (NSString *)urlString {return _pUrlString; }- (void)setPlaceholderImageContentMode:(UIViewContentMode)placeholderImageContentMode {_placeHoderImageView.contentMode = placeholderImageContentMode; }- (UIViewContentMode)placeholderImageContentMode {return _placeHoderImageView.contentMode; }- (void)setContentImageContentMode:(UIViewContentMode)contentImageContentMode {_contentImageView.contentMode = contentImageContentMode; }- (UIViewContentMode)contentImageContentMode {return _contentImageView.contentMode; }@end
用SDWebImage渐变加载图片相关推荐
- iOS开发:利用SDWebImage实现图片加载与缓存
iOS开发:利用SDWebImage实现图片加载与缓存 SDWebImage是一套开源框架,这个类库提供一个UIImageView类别以支持加载来自网络的远程图片.具有缓存管理.异步下载.同一个URL ...
- SDWebImage 判断图片类型
SDWebImage 判断图片类型 判断文件类型方法基本有两种: 通过文件后缀来判断 (简单,快捷 但是不准确,之前 公司android 客户端禁止用户上传 GIF , 前端默认可以播放 GIF ,有 ...
- iOS之SDWebimage下载图片链接带中文处理
图片连接存到了一个数组中,下载一张添加一张.但是发现有时候只显示占位图不显示图片,刚开始以为是网络慢,下载需要一段时间,但是等了好久仍然没有.打断点查看了一下,原来是因为图片链接包含中文,这样的话下载 ...
- 使用SDWebImage清除图片缓存
使用下面清除缓存的方法需要导入#import "SDImageCache.h" //清除缓存的点击方法 - (void)clearBtnClicked:(UIButton *)se ...
- com.android.kyj.onj,Android 自学之列表选择框Spinner
列表选择框(Spinner)与Swing编程里面的Spinner不同,这里的Spinner其实就是一个列表选项框. Spinner是ViewGroup的间接子类,因此他也可作为容器使用. Spinne ...
- UITableView自动计算图片的高度 SDWebImage
我们经常使用SDWebimage记载图片,主要记录在tableview中自动计算宽搞并加载图片 在cellforRow记载图片 -(UITableViewCell *)tableView:(UITab ...
- 解决SDWebimage加载过多过大图片导致内存爆表崩溃的问题
问题: Restore the connection to "xxxx" and run "xx" again, or if "xx" is ...
- SDWebImage实现分析
该博文来自南峰子的技术博客,文章从下载和缓存俩个大的组件分析到里面一些核心方法的实现,条理清晰,相对于一些一上来就通篇分析实现思路的技术文章, 这篇的讲解思路明确,框架架构也讲的比较清楚. 看完这篇再 ...
- SDWebImage常用方法及原理
1 SDWebImage的最大并发数是多少? _downloadQueue.maxConcurrentOperationCount = 6; 2 SDWebImages是如何识别图片的? NSData ...
最新文章
- 京东如何基于Vitess管理大型MySQL实例集群
- libvirt 启动 qemu 的过程
- Ubuntu常见命令记录
- 海外IDC数据中心为什么要做REITs
- 摈弃 Windows 低效率的工作方式,发掘 Linux 身上的 UNIX 气质
- cadence导入dxf文件_DXF如何导入为图纸?
- 原生js添加class
- 惊喜来袭~进阶版《看漫画学Python 2:有趣、有料、好玩、好用》
- 微信内置浏览器禁止调整字体大小的方法
- 关于win10专业版无法下载暴雪战网的解决方案
- windows中nginx.exe注册为系统服务
- C# GDI+ 画心形 跳动动画
- 使用aria2为网盘下载加速
- 【Appium踩坑】关闭inspector后打开weditor,uiautomator2.exceptions.NullPointerExceptionError: -32001 Jsonrpc er
- Gridmanager
- 盘点行业 洞察大势 挥斥方遒 指点江山 洞见2018中国HR服务峰会惊艳业界
- 为MM32F3277G9P开发板搭建keil开发环境(包含J-Link下载)十七届智能车
- 51单片机led点阵C语言,51单片机驱动LED点阵扫描显示C语言程序
- ShadowPLCs A Novel Scheme for Remote Detection of Industrial Process Control Attacks
- [OC学习笔记]系统框架
热门文章
- Java异常处理:如何写出“正确”但被编译器认为有语法错误的程序
- kindeditor自定义插件插入视频代码
- openssl构建CA认证
- jquery利用appendTo动态创建元素
- 各种厂商打开bios按键总汇
- Oracle数据导入导出imp/exp命令 [转]
- 项目经理的第二手准备-坚强的挺着(4)
- 水很深的深度学习-Task05循环神经网络RNN
- python constructor_Python学习札记(2)——搭建Boa-constructor
- c语言c99标准_从年薪10万到年薪30万,C语言程序员必读的5本书