lo farei per avere alternative 2 colori di righe, come il primo nero, la seconda bianca, la terza nera, ecc, ecc ...Come posso creare righe con colori alternati per un UITableView su iPhone?
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
cell = ((MainCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier]);
if (cell==nil) {
NSArray *topLevelObjects=[[NSBundle mainBundle] loadNibNamed:@"MainCell" owner:self options:nil];
for (id currentObject in topLevelObjects){
if ([currentObject isKindOfClass:[UITableViewCell class]]){
if ((indexPath.row % 2)==0) {
[cell.contentView setBackgroundColor:[UIColor purpleColor]];
}else{
[cell.contentView setBackgroundColor:[UIColor whiteColor]];
}
cell = (MainCell *) currentObject;
break;
}
}
}else {
AsyncImageView* oldImage = (AsyncImageView*)
[cell.contentView viewWithTag:999];
[oldImage removeFromSuperview];
}return cell;
Il problema è che quando faccio un rapido scorrimento, il lo sfondo delle celle diventa come l'ultimo nero di 2 celle, il primo di 2 celle è bianco o qualcosa del genere, ma se lo scorrimento lento funziona correttamente. Penso che il problema sia la cache di reusableCell.
Qualche idea?
TIA
Se si imposta CellIdentifier su una stringa letterale, non renderlo statico –
@Jared P: Non c'è niente di sbagliato nel fare un puntatore a una stringa di statica letterale. –
Continuo a pensare in java! .. ma per quello che so con l'identificatore statico il valore dell'oggetto rimane lo stesso una volta assegnato alla prima volta ... – Mat