Come personalizzare il colore di sfondo dell'etichetta standard all'interno di UITableViewCell?

StackOverflow https://stackoverflow.com/questions/403820

  •  03-07-2019
  •  | 
  •  

Domanda

Sto provando da diverse ore a capire come farlo, ma senza fortuna. Ci sono diverse potenziali soluzioni per questo quando si cerca su Google, ma nulla sembra funzionare.

Sto provando a personalizzare il colore di sfondo di UILabel standard che si trova in UITableViewCell (poiché ho già personalizzato il colore di sfondo della cella stessa), ma nulla di ciò che faccio sembra funzionare.

Sto creando il mio UILabel per personalizzare i colori in -tableView: cellForRowAtIndexPath:

UILabel* label = [[[UILabel alloc] init] autorelease];
label.textColor = [UIColor blueColor];
label.backgroundColor = [UIColor redColor];
label.opaque = YES;
[cell.contentView addSubview:label];
cell.text = @"Sample text here";

Ma ciò non funziona e la vista della tabella risultante ha ancora un gruppo di celle con etichette con testo nero e sfondo bianco.

Qualche indizio su cosa sto facendo di sbagliato qui?

AGGIORNAMENTO: Se invece provo a fare quanto segue:

UILabel* label = [[[UILabel alloc] init] autorelease];
label.textColor = [UIColor blueColor];
label.backgroundColor = [UIColor redColor];
label.opaque = YES;
[cell.contentView addSubview:label];
label.text = @"Sample text here";

Ricevo un sacco di UITableViewCells senza testo.

È stato utile?

Soluzione

Sembra che tu stia assegnando il testo alla cella anziché all'etichetta. Probabilmente vuoi:

label.text = @"Sample text here";

Inoltre, dovrai impostare la cornice dell'etichetta su ciò che desideri:

label.frame = CGRectMake(10,10, 80, 40);

o direttamente nel costruttore:

label = [[UILabel alloc] initWithFrame:myFrame];

Altri suggerimenti

Non lo farei nel codice. Lo farei con un file XIB personalizzato e poi lo carico nel tuo

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

funzione delegata. In questo modo è possibile progettare il file XIB secondo le specifiche esatte e modificarlo.

Buona fortuna!

Hai già posto questa domanda e hai ricevuto risposte corrette;

Come personalizzare il colore di sfondo di un UITableViewCell?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top