滚动时调整UITableViewCell图像的大小

时间:2015-07-22 09:11:31

标签: swift uitableview ios8 xcode6.4 haneke

我使用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 个答案:

答案 0 :(得分:0)

尝试将contentMode上的cellImageView属性设置为UIViewContentModeScaleAspectFit

答案 1 :(得分:0)

根据@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"))

答案 2 :(得分:0)

第1步首先添加内容模式,例如imgView.contentMode = .scaleAspectFit

第2步给予框架,例如imgView.frame = defaultVideoImgCellSize

第3步然后将图片设置为imageview,例如imgView.image = img

注意在将图像设置为imageview

之前设置contentMode和frame

整个示例

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