在获取图像

时间:2016-06-20 15:57:24

标签: ios swift uitableview uiimageview swift-extensions

我的UIImageView扩展名是从后台的给定网址下载图片。我正在使用它来获取UITableViewCell的图像。成功下载后,我正在调用self.setNeedsLayout(),但它不刷新单元格的布局,因为此方法仅更新调用者子视图的布局。我试图使用self.superview.setNeedsLayout()甚至self.window.setNeedsLayout()。它不起作用,它说这两种观点都是零。你有什么想法我可以从它的childView刷新UITableViewCell布局吗?我们正在谈论泛型UITableViewCell,我想避免创建新类只是为了在这种情况下使布局工作,我想在其他我只有UIImageView不在表内的地方使用这个扩展视图。可以通过简单的扩展来实现吗?现在我有正在下载的自定义UITableViewCell,设置图片,然后它正在调用self.setNeedsLayout()并且它可以正常工作。

1 个答案:

答案 0 :(得分:0)

请考虑使用SDWebImage等库,以便异步下载图像。我认为它可以解决你的问题并改善表现。

修改:

来自SDWebImage文档:

  

它提供:

     
      
  • 添加网络图片和缓存的UIImageView类别
  •   
  • 异步图片下载器
  •   
  • 使用自动缓存到期处理的异步内存+磁盘映像缓存
  •   
  • 保证不会多次下载相同的网址
  •   
  • 保证不会一次又一次地重试虚假网址
  •   
  • 保证主线程永远不会被阻止
  •   
  • 性能!
  •   
  • ...
  •