读书人

tableview 等图片上载完再更新cell内的

发布时间: 2013-01-19 11:41:36 作者: rapoo

tableview 等图片下载完再更新cell内的uiimage?
效果:

等到滑动到相应的cell的时候,异步下载图片

并且等到图片下载完毕,再更新cell内的uiimage

谢谢
[解决办法]
大概如下:

@protocol NSGetResourceDelegate
-(void)onResponse:(NSData *)data;
-(void) onError:(NSString *) descr;

@end


@interface GDUIImageControl:UIButton<NSGetResourceDelegate>
{

}

-(void) setResource:(NSString*)url;
@end


-(void) setResource:(NSString*)url
{
//调用获取资源模块
}
-(void)onResponse:(NSData *)data
{
UIImage *image = nil;
if (data) {
image = [UIImage imageWithData:data];
}
if (image)
{
[self setImage:image];
}

}
-(void) onError:(NSString *) descr
{
//
}
[解决办法]

引用:
SDWebImage, ASYImage都可以实现这个功能 .


自己管理 http 请求,如果你有过 这方面的经验,并且能够自己控制好 线程并且不错乱,那就可以自己去写一个,不过代码量还是有点多的。不推荐

我推荐的是,还是调用一个开源的框架,然后自己对里面的逻辑进行修改,毕竟也不是很难的东西。

其实你说的 刷新 reloadData 其实感觉没有必要。。。因为SDWebImage是下载后直接缓存到本地,然后直接调用。刷新tableView在ipod4这种内存,芯片都不行的机器上会 有点卡。




[解决办法]
也可以这样。下载完成后,调用 - (void)reloadRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation NS_AVAILABLE_IOS(3_0);
这个方法,单独刷新一行

读书人网 >Iphone

热点推荐