Я читал, что из-за метода dequeueReusableCellWithIdentifier, захватывающего oldCell, если есть один доступный для использования, а не для создания нового, если у меня есть специальные представления для отображения, например изображения или галочки, которые я хочу явно сказать, show = YES или show = NO для ячейки, поэтому ячейка не закончит работу с ячейкой со старым изображением на ней, и я получаю изображение, которое я не хочу использовать мой взгляд.UITableView dequeuReuseableCellWithIdentifier, графика появляется, когда я не хочу
Так что в этом случае у меня есть UITableView внутри popover. Это сгруппированная таблица. Группы имеют 2-4 ячейки в зависимости от данных. Я использую UITableViewCellStyleValue2, как приложение контактов. Я хочу добавить изображение в правую часть ячейки в первой ячейке в группе только в зависимости от данных. Он работает, однако, как только я прокручиваю таблицу, он поднимает выделенную ячейку, а затем я получаю одно из изображений с правой стороны для ячейки, которая не является даже первой ячейкой. Я не создавал подкласс UITableViewCell и не уверен, что мне нужно добавить этот пункт, чтобы у меня был контроль над imageView, который я добавляю в ячейку.
Так вот важная часть метода 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;