2010-10-19 119 views
0

所以我有一个问题,并确切知道是什么导致它,而不是如何解决它。基本上,我有一个加载像这样一个tableViewCell:自定义UITableViewCell删除子视图

BroadcastTableViewCell *cell = (BroadcastTableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 

/* 
* Other code to finish cell setup 
* 
*/ 

// Problem section 
CGRect frame; 
    frame.size.width=50; frame.size.height=70; 
    frame.origin.x=0; frame.origin.y=0; 
    AsyncImageView* asyncImage = [[[AsyncImageView alloc] 
            initWithFrame:frame] autorelease]; 
    asyncImage.tag = 999; 
    NSURL *url = [[[NSURL alloc] initWithString:[NSString stringWithFormat:@"http://image URL/%@", trimmedPath]] autorelease];  
    [asyncImage loadImageFromURL:url]; 
    [cell.contentView addSubview:asyncImage]; 

基本上这是一个方法,可以异步加载电池的图像,使实现代码如下滚动顺畅。问题是,当我使用现有的ID取出一个新单元格时,图像不会被重置并放置在新单元格下。有没有人知道如何检测图像,并删除它时,一个新的细胞出列?

回答

1

使用viewWithTag:

AsyncImageView* asyncImage = [cell.contentView viewWithTag:999]; 
if (asyncImage == nil) { 
    CGRect frame; 
    frame.size.width=50; frame.size.height=70; 
    frame.origin.x=0; frame.origin.y=0; 
    asyncImage = [[[AsyncImageView alloc] initWithFrame:frame] autorelease]; 
    asyncImage.tag = 999; 
    [cell.contentView addSubview:asyncImage]; 
} else { 
    // might want to cancel download here somehow 
} 

NSURL *url = [[[NSURL alloc] initWithString:[NSString stringWithFormat:@"http://image URL/%@", trimmedPath]] autorelease];  
[asyncImage loadImageFromURL:url]; 
+0

辉煌只要搜索子视图为您AsyncImageView,实际上是非常合情合理的,因为这是我在首位XD感谢您的帮助添加标签的原因! – gabaum10 2010-10-19 14:20:55

+0

这实际上也有助于提高效率。 :)赢/赢。 – gabaum10 2010-10-19 14:31:24

相关问题