在 tableview 单元格中将图像设置为 UIImageView 会使滚动和旋转变慢

Posted

技术标签:

【中文标题】在 tableview 单元格中将图像设置为 UIImageView 会使滚动和旋转变慢【英文标题】:Setting image to UIImageView in tableview cell makes the scrolling and rotation slow 【发布时间】:2011-10-18 10:15:33 【问题描述】:

我的 TableViewCell 中有一个 UIImageView。当我不设置图像时,UI 的滚动和旋转工作非常顺利。但是当图像显示在单元格中时,滚动和旋转动画变得生涩。我使用延迟加载方法来显示单元格中的图像。为了显示图像,我正在维护一个 NSData 字典。如果存在与图像对应的数据,那么我只是在做


cell.Icon=[self imageForCellAtIndex:indexPath.row];

功能就像


-(UIImage*)imageForCellAtIndex:(int)index

  Obj *ob=[mList objectAtIndex:index];
  if([mIcons objectForKey:app.Icon100])
    return [UIImage imageWithData:[mIcons objectForKey:ob.IconLink]];
  else
  
    [self DownloadIconForIndex:index];
  
  return nil;

单元格的属性 Icon 设置为


@property(nonatomic,assign)UIImage *AppIcon;
在 cell.m 文件中,我覆盖了 setter

-(void)setIcon:(UIImage *)icon

  iconImageView.image=icon;

我哪里出错了。请提出建议。

【问题讨论】:

【参考方案1】:

伙计,如果您从 URL 加载图像,那么显然它们会加载缓慢并且也会使滚动变慢。使用 LazyImageLoading

【讨论】:

我已经在问题中提到我正在使用延迟加载并解释了逻辑。

以上是关于在 tableview 单元格中将图像设置为 UIImageView 会使滚动和旋转变慢的主要内容,如果未能解决你的问题,请参考以下文章

为 tableview 单元格图像创建圆形图片

Tableview单元格边框没有迅速占据全宽

由于可重用性问题,tableview 单元格上的图像重复

如何在一个 tableView 上提供超过 2 个自定义单元格以进行聊天

在 TableView 的自定义单元格中添加单选按钮并且无法访问外部

将远程图像加载到Tableview单元中