@interface AsyncImageView: UIView {    NSURLConnection * connection;    NSMutableData * data;}@end@implementation AsyncImageView- (void) loadImageFromURL: (NSURL * ) url {    if (connection != nil) {        [connection release];    }    if (data != nil) {        [data release];    }    NSURLRequest * request = [NSURLRequest requestWithURL: url    cachePolicy: NSURLRequestUseProtocolCachePolicy    timeoutInterval: 60.0];    connection = [        [NSURLConnection alloc]        initWithRequest: request delegate: self];    //TODO error handling, what if connection is nil?}- (void) connection: (NSURLConnection * ) theConnectiondidReceiveData: (NSData * ) incrementalData {    if (data == nil) {        data = [            [NSMutableData alloc] initWithCapacity: 2048];    }[data appendData: incrementalData];}- (void) connectionDidFinishLoading: (NSURLConnection * ) theConnection {    [connection release];    connection = nil;    if ([        [self subviews] count] & gt; 0) {        [            [                [self subviews] objectAtIndex: 0] removeFromSuperview];    }    UIImageView * imageView = [        [            [UIImageView alloc] initWithImage: [UIImage imageWithData: data]] autorelease];    imageView.contentMode = UIViewContentModeScaleAspectFit;    imageView.autoresizingMask = (UIViewAutoresizingFlexibleWidth || UIViewAutoresizingFlexibleHeight);    [self addSubview: imageView];    imageView.frame = self.bounds;    [imageView setNeedsLayout];    [self setNeedsLayout];    [data release];    data = nil;}- (UIImage * ) image {    UIImageView * iv = [        [self subviews] objectAtIndex: 0];    return [iv image];}- (void) dealloc {    [connection cancel];    [connection release];    [data release];    [super dealloc];}@end- (UITableViewCell *)tableView:(UITableView *)tableView       cellForRowAtIndexPath:(NSIndexPath *)indexPath {     static NSString *CellIdentifier = @"ImageCell";    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];     if (cell == nil) {        cell = [[[UITableViewCell alloc]              initWithFrame:CGRectZero reuseIdentifier:CellIdentifier]              autorelease];    } else {        AsyncImageView* oldImage = (AsyncImageView*)             [cell.contentView viewWithTag:999];        [oldImage removeFromSuperview];    }         CGRect frame;        frame.size.width=75; frame.size.height=75;        frame.origin.x=0; frame.origin.y=0;        AsyncImageView* asyncImage = [[[AsyncImageView alloc]               initWithFrame:frame] autorelease];        asyncImage.tag = 999;        NSURL* url = [imageDownload               thumbnailURLAtIndex:indexPath.row];        [asyncImage loadImageFromURL:url];         [cell.contentView addSubview:asyncImage];     return cell;}
                    详细解决方案
                iphone腾挪加载网络图片
热度:26   发布时间:2016-04-25 06:37:11.0
                    相关解决方案
                
                - iphone 模拟器,该如何处理
- 有哪位高手用过JPlayer ,进来一下,IPHONE 等设备播放有关问题
- 单个人去做手机开发选什么平台好?android,iphone?解决办法
- 对于手机android iphone ipad 在线播放视频,服务器需要哪些要求呢?该怎么解决
- >>> PayPal mobile for Android / iPhone 开发包 开放啦!
- iphone + html5是个美模式
- ipad 和 iphone 上的有关问题
- iPhone 筹建PHP版Push服务器 实例操作
- iphone 获取UIWebView内Html步骤
- iPhone Android Web开发(要略)
- 一九七零年// iPhone “变砖”后可继续正常使用的解决方案
- 怎么禁止 iPhone Safari video标签视频自动全屏
- iPhone 六的自适应布局
- 腾挪端实现 iphone android 小图标 文字排版
- iPhone:动态获取UILabel的高度跟宽度
- 有人模仿小弟我的脸、有人模仿小弟我的面,iPhone 6的假面舞会
- iPhone @2x与@3x的图片加载有关问题
- iPhone 6 / 6 Plus 出现后,怎么改进工作流以实现一份设计稿支持多个尺寸
- jQuery 判断iPad、iPhone、Android是横屏仍是竖屏
- 检测香港特别行政区 iPhone 6 库存信息
- iPhone、iPad挟制关机
- iPhone How-to:怎么清除控件的Target-Action
- 为啥 iPhone 的拍照效果比其它手机优秀
- iPhone 跟 Galaxy快速拍照原理详细分析
- 5个方法,将 storyboard 从 iphone 版转变为 ipad 版
- iPhone 六是否比以前的iPhone更加帅
- iphone 获取手机现阶段内存大小
- Hacking EV3系列之7:iPhone 手势无线控制LEGO EV3 Gyro Boy 机器人
- iphone 开发 有外设 蓝牙设备,该怎么处理
- jQuery 判断iPad、iPhone、Android是横屏仍是竖屏(window.orientation实现)