iOS:通过URL构件UIImage

非常多时候我们仅仅能得到一个URL,然后须要构建一个UIImage。

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

例如以下转换:

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

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


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

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操作都要放在主线程中运行)
            });
        }
    });




posted @ 2017-08-03 15:11  llguanli  阅读(119)  评论(0编辑  收藏  举报