Размер изображений 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"))