AlamofireImage占位符图像在缓存图像v3.1之前简要显示

时间:2017-02-08 04:28:33

标签: ios swift alamofire alamofireimage

我有表格视图,显示图像列表。我觉得我的tableview很简单,但是我无法让af_setImage正常工作。

当我向上和向下滚动表格时,在出现正确的图像之前,我再次向placeholderImage显示一秒钟。

例如当tableview第一次出现时,我可以在列表中看到三个图像。如果我滚动到表格底部并返回到顶部,我会再次使用占位符图像显示一秒左右。

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

    let cell = tableView.dequeueReusableCell(withIdentifier: cellReuseId, for: indexPath) as! MyCustomTableViewCell

    let url = URL(string: self.dataReponseArray[indexPath.row].imageDownloadUrl)!
    let placeholderImage = UIImage(named: "bike")!

    cell.customCellImage.af_setImage(withURL: url, placeholderImage: placeholderImage)

    return cell
}

有什么想法吗?

更新

我将af_setImage与SDWebImage中的sd_setImage交换,现在它按预期工作。

cell.customCellImage.af_setImage(withURL: url, placeholderImage: placeholderImage)

cell.customCellImage.sd_setImage(with: URL(string: "http://pathToMyIMage"), placeholderImage: UIImage(named: "placeholder.png"))

1 个答案:

答案 0 :(得分:0)

如果您不使用placeholderImage,会发生什么。

我有一个类似的项目。首先,我手动设置占位符图像。

cell.customCellImage.image = placeholderImage

然后 af_setImage(withURL: url)

默认图片(占位符图片)只显示一次。

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

    let cell = tableView.dequeueReusableCell(withIdentifier: cellReuseId, for: indexPath) as! MyCustomTableViewCell

    let url = URL(string: self.dataReponseArray[indexPath.row].imageDownloadUrl)!
    let placeholderImage = UIImage(named: "bike")!

    cell.customCellImage.image = placeholderImage
    cell.customCellImage.af_setImage(withURL: url)

    return cell
}