Ich habe eine Klasse, die UITableViewCell erweitert. Zum Zweck dieser Übung nennen wir es "CustomCell". In CustomCell habe ich ein UImageView IBOutlet-Setup. Der Bildinstanzname ist in diesem Fall myImage. Ich möchte dieses Bild basierend auf bestimmten Kriterien anzeigen, die von einem Server zurückkommen. Diese Daten sind ein Wörterbuch, das wir in dieser Übung "serverData" nennen. Zuerst macht das UITableView recht gut mit der UIImageView, die in Zellen angezeigt wird, die es sollte. Das Problem tritt auf, wenn ich scrolle das tatsächliche UITableView, das Bild verloren geht. Irgendwie wird es nicht richtig zwischengespeichert oder aus der Warteschlange genommen. Ich bin mir nicht sicher, wo das Problem liegt oder wie ich diesen Code verbessern kann. Hier ein Auszug:UITableViewCell seltsames Verhalten, wenn die Tabelle scrollt aus der Sicht
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CustomCellIdentifier = @"CustomCellIdentifier";
CustomCell *cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:CustomCellIdentifier];
if (cell == nil) {
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"CustomCell"
owner:self options:nil];
cell = (CustomCell *)[nib objectAtIndex:0];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
}
NSDictionary *serverData = myData // previously defined.
if ([[serverData valueForKey:@"foo"] isEqualToString:@"0"])
cell.myImage.hidden = YES;
cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;
return cell;
}
das Bild verloren gehen Sind beim Scrollen (zB es verschwindet), oder wenn die Zelle aus dem Bildschirm vollständig gescrollt und dann zurück auf gescrollt? –