首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在将图像设置为从url下载的图像后,图像视图不显示图像

在将图像设置为从url下载的图像后,图像视图不显示图像
EN

Stack Overflow用户
提问于 2018-01-10 07:35:41
回答 4查看 996关注 0票数 0

这就是我在做的事情。

代码语言:javascript
复制
extension UIImageView {
    func downloadedFrom(url: URL, contentMode mode: UIViewContentMode = .scaleAspectFit) {
        contentMode = mode
        URLSession.shared.dataTask(with: url) { data, response, error in
            guard
                let httpURLResponse = response as? HTTPURLResponse, httpURLResponse.statusCode == 200,
                let mimeType = response?.mimeType, mimeType.hasPrefix("image"),
                let data = data, error == nil,
                let image = UIImage(data: data)
                else { return }
            DispatchQueue.main.async() {
                self.image = image
            }
            }.resume()
    }
    func downloadedFrom(link: String, contentMode mode: UIViewContentMode = .scaleAspectFit) {
        guard let url = URL(string: link) else { return }
        downloadedFrom(url: url, contentMode: mode)
    }

我在图像中检查了它,它的显示映像处于调试状态的预览状态。但在self.image = image之后

图像视图上的任何更改都不会显示。有人知道问题出在哪里吗?谢谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-01-10 08:06:28

下载图像的最有效方法:SDWebImage

您可以为SDWebImage库使用Cocoa文件。

  1. 在豆荚文件里。
  2. 豆荚'SDWebImage‘
  3. 安装Pod文件。

斯威夫特片段

代码语言:javascript
复制
import SDWebImage

imageView.sd_setImage(with: URL(string: @"user-url"), placeholderImage: UIImage(named: "placeholder"))

目标-C片段:

代码语言:javascript
复制
#import <SDWebImage/UIImageView+WebCache.h>
...
[imageView sd_setImageWithURL:[NSURL URLWithString:@"user-url"]
             placeholderImage:[UIImage imageNamed:@"placeholder"]];

希望这将有助于做有效的方式下载图像基本上,无论何时你使用UICollectionView或UITableView。

票数 3
EN

Stack Overflow用户

发布于 2018-01-10 07:43:32

你可以在翠鸟图书馆做得更容易,如下所示。

代码语言:javascript
复制
let url = URL(string: "url_of_your_image")
imageView.kf.setImage(with: url)
票数 0
EN

Stack Overflow用户

发布于 2018-01-10 07:52:03

试试下面的代码

代码语言:javascript
复制
 if data != nil { // check nil here

                        let image = UIImage(data: data)
                    DispatchQueue.main.async { 
                        self.image = image
                    }
                    }
    }.resume()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48182398

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档