Пользовательский UITableViewCell Удаление подпредставления - PullRequest
0 голосов
/ 19 октября 2010

Итак, у меня есть проблема, и я точно знаю, что ее вызывает, но не знаю, как ее исправить. В основном у меня есть tableViewCell, который загружает что-то вроде этого:

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];

По сути, это способ асинхронной загрузки изображений ячеек, чтобы табличное представление плавно прокручивалось. Проблема в том, что когда я удаляю новую ячейку с существующим идентификатором, изображение не сбрасывается и помещается под новую Кто-нибудь знает, как обнаружить это изображение и удалить его, когда снята новая ячейка?

1 Ответ

1 голос
/ 19 октября 2010

Просто найдите подпредставления для вашего AsyncImageView, используя 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];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...