Я прочитал, что из-за того, что метод dequeueReusableCellWithIdentifier захватывает oldCell, если есть доступный для использования вместо создания нового, если у меня есть специальные представления для отображения, такие как изображения или галочки, которые я хочу явно сказать, show =YES или show = NO для ячейки, поэтому в ячейке не используется ячейка со старой графикой, и я получаю изображение, которое мне не нужно, на мой взгляд.
Так что в этом случае у меня есть UITableView внутри поповера.Это сгруппированная таблица.Группы имеют 2-4 ячейки в зависимости от данных.Я использую UITableViewCellStyleValue2, как приложение контактов.Я хочу добавить изображение в правой части ячейки на первую ячейку в группе только в зависимости от данных.Это работает, однако, как только я прокручиваю таблицу, она берет убранную ячейку, а затем я получаю одно изображение справа для ячейки, которая даже не является первой ячейкой.Я не создал подкласс UITableViewCell и не уверен, нужно ли мне добавить эту точку, чтобы у меня был контроль над изображением, которое я добавляю в ячейку.
Итак, вот важная часть метода cellForRowAtIndexPath:
if (row == 0) {
UIImage *dot;
if (aTarget.importance == TargetImportanceHigh) {
dot = [UIImage imageNamed:@"dot_red.png"];
}
else if (aTarget.importance == TargetImportanceLow) {
dot = [UIImage imageNamed:@"dot_yellow.png"];
}
else {
dot = [UIImage imageNamed:@"dot_black.png"];
}
UIImageView *imgView = [[UIImageView alloc] initWithImage:dot];
imgView.frame = CGRectMake(cell.frame.size.width - 50, cell.frame.size.height / 2 - 7.5, 15, 15);
[cell.contentView addSubview:imgView];
[imgView release];
cell.textLabel.text = @"Location
cell.detailTextLabel.text = [NSString stringWithFormat:@"%i", aTarget.location];
}
else if (row == 1) {
cell.textLabel.text = @"Coordinate";
cell.detailTextLabel.text = [NSString stringWithFormat:@"%@", aTarget.coordinate];
}
return cell;