2010-04-02 15 views
6

Ho un UITableView un'immagine di sfondo personalizzata impostata in questo modo con:questioni di colore UITableViewCell con tabella personalizzata sfondo vista

self.tableView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"mybg.png"]]; 

Lo sfondo appare bene, ma i miei UITableViewCells (cellule di default, non personalizzati) avere una sorta di tinta strana a loro, e anche l'UILabel che contiene il testo "Nuovo Progetto" sembra avere una sorta di background alle spalle. Come posso rimuovere questo? Ho già provato:

cell.backgroundColor = [UIColor clearColor]; 
cell.textLabel.backgroundColor = [UIColor clearColor]; 

Grazie

alt text http://cl.ly/Cg5/content

risposta

2

Credo che questo sia un brutto effetto collaterale di aggiungere semplicemente un'immagine direttamente al backgroundColor della vista tabella.

Prova ad aggiungere l'immagine alla vista 's il colore di sfondo:

[[self view] setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"mybg.png"]]]; 

e quindi impostare la visualizzazione tavolo' s backgroundColor per essere chiari:

[[self tableView] setBackgroundColor:[UIColor clearColor]]; 

Spero che questo aiuta!

+0

Questo lo ha fatto, grazie! – indragie

+0

Ciao, cosa succede se ho bisogno che lo schema di sfondo scorra con la tabella? Quindi non posso semplicemente rendere trasparente lo sfondo della tabella e impostare lo sfondo della vista sotto il tavolo. – hzxu

+0

Hi hzxu, penso che sarete in grado di farlo se si imposta il colore di sfondo delle celle della tabella come [UIColor clearColor] e quindi si imposta la vista di sfondo delle celle della tabella come immagine personalizzata (UIImageView). Dovresti quindi essere in grado di utilizzare uno sfondo tabella di tua scelta. Spero che questo ti aiuti. –

0

alcuni momenti in cui il vostro lavoro con l'impostazione delle immagini per un app, e test sul simulatore, ottengono congelati per l'applicazione per pochi correre. Non è sicuro, questo è il caso anche se si eliminano i file di immagine; continuano a spuntare.

Farei in modo che si riposi il simulatore e riavviare Xcode. Quindi forza una ricostruzione dell'app sul simulatore. Questo dovrebbe cancellare tutte le immagini, anche le immagini di sfondo se sono ancora referenziate.

Se questa non è una soluzione che funziona ... provare a non avere comandi in conflitto che vanno allo stesso oggetto UiTablView (1 da IB e 1 da Xcode programmaticamente). A volte puoi trascurare che hai impostato qualcosa in IB, e questo è in conflitto con ciò che stai dicendo di fare a livello programmatico.

Se ciò non risolve il problema ... controllare le connessioni in IB e assicurarsi che si esegua nuovamente la visualizzazione tabella IBOutlet UITableView * corretta. E tu hai il delegato e protocolli di dati nell'intestazione.

0

Se si desidera avere ogni cella insieme con sfondo e si desidera rimuovere sfondo del testo, forse si può provare questo ...


- (void)viewDidLoad { 
... 
self.tableView.backgroundColor = [UIColor clearColor]; 
... 
} 

- (UITableViewCell *)tableView:(UITableView *)table cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
... 
cell.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"mybg.png"]]; 
cell.textLabel.backgroundColor = [UIColor clearColor]; 
... 
} 
Problemi correlati