2017-02-08 6 views
0

У меня есть представление таблицы, которое представляет список изображений. Я чувствую, что мой планшет так же прост, как и он, но я не могу заставить af_setImage работать правильно.AlamofireImage Изображение заполнителя кратко показано перед кэшированным изображением v3.1

Когда я просматриваю вверх и вниз по столу, я снова представляю placeholderImage на секунду или около того, прежде чем появится правильное изображение.

Например, Когда открывается табличное представление, я вижу три изображения в списке. Если я прокручусь до нижней части таблицы и вернусь к вершине, я снова представляю placeholderImage на секунду или около того.

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 
} 

Любые идеи?

Update

Я сменил af_setImage с sd_setImage из SDWebImage и теперь его работу, как и ожидалось.

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

с

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

каждый раз, когда вы прокручиваете вниз и прокручиваете вверх, ячейка снова устанавливается. Таким образом, изображение перезагружается, а затем отображается в этой ячейке. поэтому его время. fir загружать все изображения, а затем использовать свойства set image –

+0

Вы можете проверить это в библиотеке для загрузки изображения https://github.com/Alamofire/AlamofireImage – Tech

+0

@iOSDev это библиотека, которую я использую. – Padawan

ответ

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 
} 
+0

спасибо за сообщение. К сожалению, это не сработало. Это дает тот же результат. – Padawan

Смежные вопросы