2011-01-14 9 views
5

Sto usando iOS SDK 4.2. Ho un UIPopoverController inizializzato con un controller di navigazione che è inizializzato con un controller di visualizzazione. Una delle sottoview del controller della vista è una vista tabella raggruppata. Vorrei cambiare il colore di sfondo della vista tabella. Tuttavia, se lo faccio nel metodo viewDidLoad del controller della vistaCome si imposta il colore di sfondo di un UITableView in un UIPopoverController?

self.myTableView.backgroundColor = [UIColor blackColor]; 

lo sfondo non cambia, quando appare la popover, lo sfondo della vista tabella è grigio. Qualche indizio? Cosa c'è di sbagliato in questo approccio? Grazie in anticipo.

risposta

9

Le visualizzazioni di tabelle raggruppate hanno una vista personalizzata nella proprietà backgroundView. Questa visualizzazione personalizzata è ciò che mostra lo sfondo. Se vuoi cambiare lo sfondo, devi creare la tua vista personale e assegnarla lì. Nel tuo caso, probabilmente vorrai qualcosa di simile al seguente:

UIView *bgView = [[[UIView alloc] init] autorelease]; 
bgView.backgroundColor = [UIColor blackColor]; 
bgView.opaque = YES; 
self.myTableView.backgroundView = bgView; 
+5

Kevin, il tuo suggerimento funziona perfettamente. Mi è stato anche detto e verificato che, semplicemente cancellando la vista di sfondo della vista tabella prima di impostare il colore di sfondo della vista tabella, si ottiene lo stesso risultato: self.myTableView.backgroundView = nil; self.myTableView.backgroundColor = [UIColor blackColor]; –

Problemi correlati