图像未正确加载

Posted

技术标签:

【中文标题】图像未正确加载【英文标题】:Images are not loading properly 【发布时间】:2016-10-18 12:45:37 【问题描述】:

我有一个非常简单的 ios 应用程序 - 它有 TableView 和这个 TableView 中的自定义单元格列表。每个单元格中都有一个 ImageView(使用 downloadedFrom 方法加载图像)。

在将我的 Xcode 更新到 8 版本并将项目转换为 Swift 2.3 后,我得到了非常有趣的结果 - 我在 TableView 中重新加载项目列表 - 屏幕上的第一个单元格没有任何图像,当我开始向下滚动时,我看到了其他图像加载正常。当滚动回顶部时 - 所有图像都很好。

我还尝试将图像加载方式更改为名为 SDWebImage 的库,但结果是相同的。怎么了?

extension UIImageView 
func downloadedFrom(link link:String, contentMode mode: UIViewContentMode) 
    guard
        let url = NSURL(string: link)
        else return
    contentMode = mode
    NSURLSession.sharedSession().dataTaskWithURL(url, completionHandler:  (data, response, error) -> Void in
        guard
            let httpURLResponse = response as? NSHTTPURLResponse where httpURLResponse.statusCode == 200,
            let mimeType = response?.MIMEType where mimeType.hasPrefix("image"),
            let data = data where error == nil,
            let image = UIImage(data: data)
            else  return 
        dispatch_async(dispatch_get_main_queue())  () -> Void in
            self.image = image
        
    ).resume()

【问题讨论】:

SDWebImage 如果您需要,可以完美运行,然后我上传我使用的代码 我确信它运行良好,但它表现出相同的行为:在我开始滚动之前,第一个单元格没有任何图像 然后为此使用占位符。它会向您显示您的占位符图像,直到您的图像未下载且未加载到图像视图中 它们根本没有加载。不管我会花多少时间在占位符上 - 在我开始滚动表格之前不会加载图像 在我的项目中我没有遇到这种问题 【参考方案1】:

问题不在于加载方法,而在于图像的圆角。 Xcode 8 和 iOS 10 的圆角问题可以是found here。

【讨论】:

以上是关于图像未正确加载的主要内容,如果未能解决你的问题,请参考以下文章

ImageNet 数据集图像未正确加载

在网站加载但未正确加载的图像(已损坏)

未加载颤振图像(例外:解析图像编解码器)

媒体文件未在模板中正确加载 (HTML <img>)。静态文件/图像正常工作

离子3:图像文件未加载到设备中

表视图未正确加载