2011-09-26 18 views
8

Ho un UITableView e come metodo cellForRowAtIndexPath Sto cambiando alcuni attributi della cella (font, dimensione, ecc.) Ora tutti i compiti elencati di seguito funzionano perfettamente, tranne cambiare il colore di la textLabel. Non riesco a capire perché solo quell'attributo specifico del colore non cambierà. Ho guardato dappertutto a cui riesco a pensare per capire perché non funziona e sono bloccato. Qualche idea?UITableViewCell testo Il colore della targhetta non cambia

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 

    static NSString *kLocationAttributeCellID = @"bAttributeCellID"; 

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:kLocationAttributeCellID]; 

    if (cell == nil) { 

     cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue2 reuseIdentifier:kLocationAttributeCellID] autorelease]; 

     cell.selectionStyle = UITableViewCellSelectionStyleBlue; 
     cell.detailTextLabel.font = [UIFont fontWithName:@"Helvetica" size:14.0]; 
     cell.detailTextLabel.numberOfLines = 0; 
     cell.detailTextLabel.lineBreakMode = UILineBreakModeWordWrap; 
     cell.userInteractionEnabled = NO; 
     cell.textLabel.font = [UIFont fontWithName:@"Courier" size:18.0]; 
     cell.textLabel.textColor = [UIColor redColor]; // this never takes effect... 
    } 

    cell.textLabel.text = @"Test Label"; 
    cell.detailTextLabel.text = @"Test Details"; 
    return cell; 
} 

risposta

9

E 'a causa di questo:

cell.userInteractionEnabled = NO; 

Se non si desidera che le cellule siano selezionabili, provare a utilizzare questo, invece:

cell.selectionStyle = UITableViewCellSelectionStyleNone; 
+1

Oh wow ... che schifo . Mi chiedo perché questo abbia un effetto sul colore. Ho cercato di risolvere questo per 3 giorni come ora. Grazie!!! – gplocke

+0

Grazie mille !! Sprecare ore a meditare su questo ... – ewiinnnnn

Problemi correlati