滚动时调整 UITableViewCell 图像的大小
UITableViewCell images are resized when scrolling
我在 cellForRowAtIndexPath
中使用 HanekeSwift 设置了 UITableViewCell
中的图像。我下面的代码有效,但是当我开始滚动列表时图像会调整大小。如何防止图像调整大小?
//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
尝试将 cellImageView
上的 contentMode
属性 设置为 UIViewContentModeScaleAspectFit
根据@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"))
步骤 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)
我在 cellForRowAtIndexPath
中使用 HanekeSwift 设置了 UITableViewCell
中的图像。我下面的代码有效,但是当我开始滚动列表时图像会调整大小。如何防止图像调整大小?
//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
尝试将 cellImageView
上的 contentMode
属性 设置为 UIViewContentModeScaleAspectFit
根据@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"))
步骤 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)