图像下载后调整表格单元格大小
Posted
技术标签:
【中文标题】图像下载后调整表格单元格大小【英文标题】:Resize table cell after image downloaded 【发布时间】:2016-03-23 11:53:16 【问题描述】:我正在使用 SDWebImage 库下载图像并加载到表格单元格内的图像视图中。
我想在图片下载后调整表格单元格的大小。请指教。非常感谢。
图像设置为图像视图后,单元格未正确调整大小
单元格在出列并再次加载后正确调整大小
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
let cell = tableView.dequeueReusableCellWithIdentifier(GagListTableViewCell.cellId, forIndexPath: indexPath) as! GagListTableViewCell
cell.layoutMargins = UIEdgeInsetsZero
let gagDataCommand = gagDataSource[indexPath.row]
if let caption = gagDataCommand.caption
cell.captionLabel.text = caption
if let imageUrlStr = gagDataCommand.images?.normal
if let imageUrl = NSURL(string: imageUrlStr)
cell.gagImage.sd_setImageWithURL(imageUrl, placeholderImage: UIImage(named: AppConstants.imagePlaceHolderName), completed: (image, error, cacheType, url) in
//guess I need to redraw the layout here
)
else
//fail to get image url, set placeholder image to the cell instead
cell.gagImage.image = UIImage(named: AppConstants.imagePlaceHolderName)
return cell
【问题讨论】:
你使用了自动布局吗? 设置下载的图片后,能否尝试在tablecell
上调用layoutIfNeeded()
通过以下链接***.com/questions/31805341/…
是的,我正在使用自动布局。我尝试了 layoutIfNeeded 但无法解决问题。
问题解决了吗?如果是,请提供解决方案,因为我也面临同样的问题并且没有得到任何适当的解决方案。
【参考方案1】:
您可以为 tableview 单元格使用自动尺寸。
tableView.rowHeight = UITableViewAutomaticDimension
【讨论】:
是的,我已将 rowHeight 设置为 UITableViewAutomaticDimension。它不适用于设置占位符图像并且需要下载图像的情况 你是单独下载图片?? 你能把图像视图改成宽高比吗? 我必须使用缩放来缩放以填充我的情况。我附上了我的源代码。感谢您的帮助。以上是关于图像下载后调整表格单元格大小的主要内容,如果未能解决你的问题,请参考以下文章
下载内部图像后调整 UICollectionView 单元格的大小