很多时候我们只能得到一个URL,然后需要构建一个UIImage。

通常情况下,我们一般都是通过SDWebImage来直接构建UIImageVIew的image,如何用URL直接构建UIImage呢?

如下转换:

1
2
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:urlStr]];  
   button.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageWithData:data]];

注意:此转换为同步请求,不建议使用在scrollview类中

我再给一个异步请求的,通过多线程实现

1
2
3
4
5
6
7
8
9
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{  
        NSData * data = [[NSData alloc]initWithContentsOfURL:[NSURL URLWithString:UrlStr]];  
        UIImage *image = [[UIImage alloc]initWithData:data];  
        if (data != nil) {  
            dispatch_async(dispatch_get_main_queue(), ^{  
                //在这里做UI操作(UI操作都要放在主线程中执行)  
            });  
        }  
    });

iOS通过URL构建UIImage的更多相关文章

  1. iOS:通过URL构件UIImage

    非常多时候我们仅仅能得到一个URL,然后须要构建一个UIImage. 通常情况下,我们一般都是通过SDWebImage来直接构建UIImageVIew的image,怎样用URL直接构建UIImage呢 ...

  2. iOS根据Url 获取图片尺寸

    iOS根据Url 获取图片尺寸 // 根据图片url获取图片尺寸 +(CGSize)getImageSizeWithURL:(id)imageURL { NSURL* URL = nil; if([i ...

  3. iOS开发中关于UIImage的知识点总结

    UIImage是iOS中层级比较高的一个用来加载和绘制图像的一个类,更底层的类还有 CGImage,以及iOS5.0以后新增加的CIImage.今天我们主要聊一聊UIImage的三个属性: image ...

  4. iOS 自定义 URL Scheme 完全指南

    http://www.cocoachina.com/industry/20140522/8514.html “”   阅读器 自定义URL Scheme 本文转自Migrant的博客,原文:<T ...

  5. Flask URL构建

    Flask URL构建 url_for()函数对于动态构建特定函数的URL非常有用.该函数接受函数的名称作为第一个参数,以及一个或多个关键字参数,每个参数对应于URL的变量部分. 以下脚本演示了如何使 ...

  6. iOS:由URL成员UIImage

    很多时候,我们只能得到URL.然后,需要建立一个UIImage. 在正常情况下,.我们一般通过SDWebImage直接施工UIImageVIew的image,如何使用URL直接施工UIImage它? ...

  7. iOS开发之构建Widget

    原文出处: 陈凯 在 jianshu 的博客(@chenkaiHome)   欢迎分享原创到伯乐头条 伴随这iOS 8 系统多达4000项API更新而来同样还有Today Extension.而对iO ...

  8. iOS 根据url生成二维码贴到底图上

    根据url 生成指定尺寸的二维码图片 UIImage * createBinaryCodeImg(const char * url ,CGFloat size) { //create binary c ...

  9. ios 自定义URL Scheme 设计

    在 iOS 里,程序之间都是相互隔离,目前并没有一个有效的方式来做程序间通信,幸好 iOS 程序可以很方便的注册自己的 URL Scheme,这样就可以通过打开特定 URL 的方式来传递参数给另外一个 ...

随机推荐

  1. 阿里云栖大会 所有ppt

    https://github.com/Alimei/hangzhouYunQi2017ppt

  2. MongoDB用户名和密码

    在windows先进入MongoDB安装目录的bin目录下运行mongo.exe文件,会直接进入到MongoDB后台: 然后show dbs可以查看数据库: 比如你需要在admin数据库下面创建用户, ...

  3. Linux 安装 iptables防火墙

    CentOS7默认的防火墙不是iptables,而是firewalle. 安装iptable iptable-service #先检查是否安装了iptables service iptables st ...

  4. devmapper: Thin Pool has 162394 free data blocks which is less than minimum required 163840 free data blocks. Create more free space in thin pool or use dm.min_free_space option to change behavior

    问题: 制作镜像的时候报错 devmapper: Thin Pool has 162394 free data blocks which is less than minimum required 1 ...

  5. webpack 学习

    ·1.https://www.2cto.com/kf/201711/696035.html 2. http://blog.csdn.net/x550392236/article/details/784 ...

  6. Real Time Render 4

    [Real Time Render 4] 1.Radiometry(辐射测试) deals with the measurement of electromagnetic(电磁) radiation( ...

  7. Light Probe

    [Light Probe] Light Probes provide a way to capture and use information about light that is passing ...

  8. CSS Media Query

    [CSS Media Query] CSS Media Queries are a feature in CSS3 which allows you to specify when certain C ...

  9. macaca自动化测试以及配置环境问题

    macaca 测试和环境问题 标签(空格分隔): macaca自动化配置环境问题 macaca环境变量配置 基本环境需要准备的东西: JDK的安装及环境配置:(1.8) Node.js的安装及环境配置 ...

  10. jenkins动态参数插件Dynamic Parameter安装及简单使用

    插件安装: 1.先下载插件hpi文件到本地   jenkins插件下载地址 http://mirror.xmission.com/jenkins/plugins/ http://updates.jen ...