Доброго времени суток
Я использую библиотеку Kingfisher
и мне необходимо вывести изображения в ‘tableView’
Мое API не возвращает мне высоту и ширину изображения, возвращается только url
изображения
Так вот я нашел способ расчитывать новую высоту ячейки исходя из данных которые мне возвращает библиотека Kingfisher
. То есть вот так:
cell.image_of_new.kf.setImage(
with: url,
placeholder: UIImage(named: “placeholderImage”),
options: [
.scaleFactor(UIScreen.main.scale),
.transition(.fade(1)),
.cacheOriginalImage,
])
{
result in
DispatchQueue.main.async {
let ratio = Float(result.value?.image.size.width ?? 50) / Float(result.value?.image.size.height ?? 50)
let newHeight = Float(cell.frame.width) / ratio
cell.image_height.constant = CGFloat(newHeight)
self.view.layoutIfNeeded()
}
}
Суть в том что ячейка изначально вывела всю информацию, а потом считает размер и выводит изображение
Из за этого ячейка скачет от перезагрузки
Можно ли сначала посчитать размер ячейки и потом заполнять ее
Если да то как это сделать?