Lasst uns sagen, dass ichMit dequeueReusableCellWithIdentifier für individuelle Zellen
- (UITableViewCell*)tableView:(UITableView*) cellForRowAtIndexPath:(NSIndexPath*)indexPath
{
static NSString *cellID = @"Cell Identifier";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID];
if (!cell)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellID];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
}
else
{
return cell;
}
UILabel * nameLabel = [[UILabel alloc] initWithFrame: CGRectMake(0, 15, box.size.width, 19.0f)];
nameLabel.text = name;
[nameLabel setTextColor: [UIColor colorWithRed: 79.0f/255.0f green:79.0f/255.0f blue:79.0f/255.0f alpha:1.0f]];
[nameLabel setFont: [UIFont fontWithName: @"HelveticaNeue-Bold" size: 18.0f]];
[nameLabel setBackgroundColor: [UIColor clearColor]];
nameLabel.textAlignment = NSTextAlignmentCenter;
[cell addSubview: nameLabel];
}
haben Was ist zu tun, dass zu gehen?
Wenn Zelle ist nicht Null, und sagen wir, Sie sind in Zeile 5, wird es die Zelle für Zeile 5 mit den genauen Textbeschriftungen usw. zurückgeben?
Grundsätzlich ist meine Frage, wenn Sie benutzerdefinierte Zellen mit Etiketten, Bildansichten usw. haben. Wie verwenden Sie cellForRowAtIndexPath
mit dequeueReusableCellWithIdentifier
?
ist es für Tableviewcell gleich, ob es Gewohnheit ist oder nicht. Sie erhalten das Zellenobjekt und setzen alle seine Zustände zurück und fügen dann Ihren Inhalt hinzu. Also, ja, Sie müssen den Inhalt in den Etiketten/Bildern aufräumen (indem Sie ihn auf Null setzen) und neuen Inhalt bereitstellen. – rydgaze
In diesem Code gibt es keine Möglichkeit, auf das UILabel-Objekt zuzugreifen, außer durch das Aufzählen von Teilansichten der Zelle, die ziemlich hässlich ist. Besser, eine Unterklasse von UITableViewCell zu verwenden, die eine UILabel -Eigenschaft hat, so dass sie leicht zugänglich ist. –