我有这个非常好的集合视图,可以从我的服务器加载图片。现在,如果图片加载缓慢,则集合视图实际上是可滚动的,但如果图片加载速度很快,则集合视图基本上会被冻结,直到所有单元格最终都被加载。
我很确定这与我使用dispatch_async更新ui(插入单元格和部分)这一事实有关,所以我想知道是否有方法更新仍然允许我在添加项目时滚动集合视图的UI。
我有什么遗失的吗?
提前感谢您的帮助!
答案 0 :(得分:0)
解决此问题的最简单方法是使用SDWebImage和UIImageView替代方法,并从tableView:cellForRowAtIndexPath:UITableViewDataSource方法调用sd_setImageWithURL:placeholderImage:方法。从异步下载到缓存管理,一切都将为您处理。
您可以在此处找到它:https://github.com/rs/SDWebImage
因此,删除任何dispatch_async,立即设置此方法上的单元格数:
- (NSInteger)numberOfItemsInSection:(NSInteger)section;
使用此工具滚动表现会很好