Размер изображений UITableViewCell изменяется при прокрутке

Я использовал HanekeSwift, чтобы установить изображения в моем UITableViewCell в cellForRowAtIndexPath, Мой код ниже работает, но изображения меняются, когда я начинаю прокручивать список. Как я могу предотвратить изменение размеров изображений?

//Load pet image
var petImage : String = pet["pet_image"] as! String
var petUrl = NSURL(string: petImage)
var cellImageView = cell.imageView
cellImageView?.hnk_setImageFromURL(petUrl!, format: Format<UIImage>(name: "original")) 

Вот мои скриншоты:

Первая загрузка: https://dl.dropboxusercontent.com/u/10131270/first-load.png

После прокрутки: https://dl.dropboxusercontent.com/u/10131270/after-scrolling.png

3 ответа

Решение

Попробуйте установить contentMode собственность на cellImageView в UIViewContentModeScaleAspectFit

Шаг 1 Сначала добавьте режим содержимого, например imgView.contentMode = .scaleAspectFit

Шаг 2 Дайте кадр, например imgView.frame = defaultVideoImgCellSize

Шаг 3 Затем установите изображение для просмотра изображения, например imgView.image = img

Примечание. Установите contentMode и frame перед настройкой изображения для viewview.

Весь пример

let imgView = UIImageView()
imgView.contentMode = .scaleAspectFit
imgView.frame = defaultVideoImgCellSize
imgView.image = img
cell.addSubview(imgView)

Как предполагает @pnavk, вот решение:

//Load pet image
var petImage : String = pet["pet_image"] as! String
var petUrl = NSURL(string: petImage)
var cellImageView = cell.imageView
cellImageView?.contentMode = UIViewContentMode.ScaleToFill
cellImageView?.frame = CGRectMake(0, 0, 66, 66)
cellImageView?.hnk_setImageFromURL(petUrl!, placeholder: UIImage(named: "Star66"))
Другие вопросы по тегам