登录 立即注册
金钱:

Code4App-iOS开发-iOS 开源代码库-iOS代码实例搜索-iOS特效示例-iOS代码例子下载-Code4App.com

结合SDWebImage实现异步圆角图片

[复制链接]
来自: andysection 分类: iOS精品源码 上传时间: 2017-1-6 13:29:39
Tag:图片 SDWebImage 圆角 静态图片

项目介绍:

结合SDWebImage实现圆角图片或圆角矩形图片(也可实现静态图片圆角功能)

网络下载图片

思路1:通过SD提供的函数:

- (void)sd_setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder completed:(SDWebImageCompletionBlock)completedBlock;

在completedBlock中将image贝塞尔切割为圆角图片或圆角矩形图

但是在实现以后发现,一旦图片下载失败,那么sd不会调用completedBlock,无法实现placeholder占位图片圆角,所以产生了新的思路

思路2:直接将placeholder占位图直接处理为圆角图片,然后再调用sd提供的函数。

目前可支持UIImageView和UIButton分别调用方法:

  • UIImageView:

//网络延迟下载--圆形
- (void)was_setCircleImageWithUrl:(NSURL *)url placeholder:(UIImage *)image fillColor:(UIColor *)color;
//网络延迟下载--圆形矩阵
- (void)was_setRoundRectImageWithUrl:(NSURL *)url placeholder:(UIImage *)image fillColor:(UIColor *)color cornerRadius:(CGFloat) cornerRadius;
  • UIButton:

//button--圆形
- (void)was_setCircleImageWithUrl:(NSURL *)url placeholder:(UIImage *)image fillColor:(UIColor *)color forState:(UIControlState)state;
//button--圆角矩形
- (void)was_setRoundRectImageWithUrl:(NSURL *)url placeholder:(UIImage *)image fillColor:(UIColor *)color cornerRadius:(CGFloat) cornerRadius forState:(UIControlState)state;

对于静态图片,直接UIImage对象调用以下方法即可:

//圆形
- (void)was_roundImageWithSize:(CGSize)size fillColor:(UIColor *)fillColor completion:(void (^)(UIImage *))completion;
//圆角矩阵
- (void)was_roundRectImageWithSize:(CGSize)size fillColor:(UIColor *)fillColor radius:(CGFloat)radius completion:(void (^)(UIImage *))completion;

使用方法

  • 在项目中加入SDWebImage

  • 将文件夹RoundImage内的UIImage+extension.h与UIImage+extension.m拖入项目

  • 导入头文件:#import "UIImage+extension.h"即可

缺点:加载的时候会闪一下,原因是先显示了占位图片,之后加载网络图片。

你可以设置占位图为nil 这样就不会闪

如果有好的建议可以直接留言或者发送邮件:andysection@gmail.com

thank you for your reading !
GitHub:Demo

code4app

相关源码推荐:

我来说两句
*滑动验证:
所有评论(15)
BlueManlove 2017-1-6 14:58:56
code4app好的代码demo真的很多,谢谢啦~
回复
kengsir 2017-1-6 15:04:57
感谢分享,code4app有你更精彩
回复
AlonMessi 2017-1-6 15:11:46
感谢分享,code4app有你更精彩
回复
phoiu 2017-1-6 15:18:17
感谢分享,楼主V5~
回复
littleRed 2017-1-6 15:27:53
支持,感谢,祝code4app越来越好~
回复
hellokenken 2017-1-6 15:36:46
code4app好的代码demo真的很多,谢谢啦~
回复
李世铿 2017-1-9 11:31:24
强烈支持楼主ing……
回复
diyang 2017-1-13 13:59:34
精华内容,楼主V5!
回复
王颖博 2017-1-17 12:03:15
感谢分享,Code4App有你更精彩
回复
12下一页
提取码:  下载次数:39 状态:已购或VIP 售价:0(原价:10)金钱 下载权限:初级码农 
2721 1 39
联系我们
首页/微信公众账号投稿

帖子代码编辑/版权问题

QQ:435399051,742864542

如何获得代码达人称号?

代码贡献英雄榜
用户名 下载数
通过邮件订阅最新 Code4App 信息
上一条 /4 下一条
联系我们
关闭
合作电话:
13802416937
Email:
435399051@qq.com
商务市场合作/投稿
问题反馈及帮助
联系我们

广告投放| 广东互联网违法和不良信息举报中心|中国互联网举报中心|Github|申请友链|手机版|Code4App ( 粤ICP备15117877号-1 )

快速回复 返回顶部 返回列表
博聚网