1

I used HanekeSwift to set the images in my UITableViewCell in cellForRowAtIndexPath. My code below works but the images are resized when I start scrolling through the list. How can I prevent the images from resizing?

//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")) 

Here are my screenshots:

First load: https://dl.dropboxusercontent.com/u/10131270/first-load.png

After scrolling: https://dl.dropboxusercontent.com/u/10131270/after-scrolling.png

Esthon Wood
  • 315
  • 3
  • 19

3 Answers3

0

Try setting the contentMode property on the cellImageView to UIViewContentModeScaleAspectFit

pnavk
  • 4,552
  • 2
  • 19
  • 43
  • Thank you for your suggestion. I added these two lines to make it work: `cellImageView?.contentMode = UIViewContentMode.ScaleToFill` and `cellImageView?.frame = CGRectMake(0, 0, 66, 66)` – Esthon Wood Jul 24 '15 at 02:47
0

As suggested by @pnavk, here is the solution:

//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"))
Esthon Wood
  • 315
  • 3
  • 19
0

Step 1 First add Content mode e.g imgView.contentMode = .scaleAspectFit

Step 2 Give the frame e.g imgView.frame = defaultVideoImgCellSize

Step 3 Then set image to imageview e.g imgView.image = img

Note Set contentMode and frame before setting image to imageview

Whole Example

let imgView = UIImageView()
imgView.contentMode = .scaleAspectFit
imgView.frame = defaultVideoImgCellSize
imgView.image = img
cell.addSubview(imgView)
iOS Lifee
  • 2,091
  • 23
  • 32