我正在寻找有关如何以表格形式为导航列表创建高效缩略图加载器的建议。我可以启动一个线程并下载并缓存缩略图,但我不确定如何用图像更新表格单元格(一个单元格可见或在视图外部)。
如果我没记错的话,我认为应用程序Blocket可以完成我所追求的目标。
我想设置一个占位符图像,当线程加载每个图像时,它会更新单元格。如果可能,占位符可以是动画活动指示符(微调器)。
是否有简洁的示例代码,或者您可以提供有关如何将更新传达给单元格并强制它立即显示图像的建议吗?
答案 0 :(得分:0)
有趣的问题。
我想在某种程度上你需要通过reloadRowsAtIndexPaths:withRowAnimation:
UITableView方法替换表格视图中的现有单元格,所以我怀疑你需要继续查找单元格内容 - > indexPaths,以便您知道在相关资产可用时要更新的单元格。
但是,您需要避免破坏现有的单元重用系统。 (即:预先创建所有单元格没有任何价值。)因此,大部分工作应该在 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { {3}}方法,我怀疑。
那就是说,希望你能得到比这些有点模糊的谣言更好的回应。 : - )
答案 1 :(得分:0)
制作了我在iPhone上看到的最好的线程缩略图加载:D最困难的部分是在离开桌子时取消线程。 NSThread加载图像和performSelectorOnMainThread waitUntilDone:YES用于更新cell.imageView时,在数组中传递对象(cell,tableView,indexPath等)以绕过仅在withObject中传递一个对象的限制。在加载每个图像时快速淡入浏览royale:)