2010-10-19 109 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

相關問題