2015-08-09 5 views
8

Ho un UITableView che voglio impostare il suo colore di sfondo trasparente. Il colore di sfondo per la vista tabella e tutte le sottoview su Generatore di interfacce è impostato su trasparente. Funziona bene per iOS 8 & 7. ma, non iOS 9. qualche idea?UITableView colore di sfondo iOS 9

metodo cellForRowAtIndexPath:

[cell setSelectedBackgroundView:[[UIView alloc] init]]; 
[cell.selectedBackgroundView setBackgroundColor:[UIColor clearColor]]; 
[cell setBackgroundColor:[UIColor clearColor]]; 
[cell.contentView setBackgroundColor:[UIColor clearColor]]; 
[cell setBackgroundView:[[UIView alloc] init]]; 
[cell.backgroundView setBackgroundColor:[UIColor clearColor]]; 
+0

In primo luogo, questa non è una buona idea perché le prestazioni di scorrimento ne risentiranno. A parte questo, penso che sia un bug. File un radar. – dasdom

+0

devi provare 'cell.contentView.backgroundColor'? prova a scavare un po 'di più, prima di segnalarlo .. hmm .. sto anche pensando che sia un bug. – 0yeoj

risposta

10

Objective-C:

[self.yourTableView setBackgroundColor:[UIColor clearColor]]; 

Swift:

self.yourTableView.backgroundColor = .clear 

XCode 7.0 bu g. Non prelevare dallo storyboard

+0

Sì, l'ho capito prima. – hasan83

+0

questo bug è ancora presente nella versione beta 5? Hai provato? – hasan83

+0

Siamo spiacenti, non sto provando la versione beta 5. – vipulk617

-1

Questo mi succede anche quando si crea un UITableView nel codice e lo si imposta come proprietà privata del mio UIViewController. Tuttavia, se UITableView è una variabile globale, questo problema non si verifica.

Sospetto che Apple stia facendo il tifo per gli ivars sul mio UIViewController, impostando i colori di sfondo di UITableView su UIColor whiteColor senza chiedermelo. Ho controllato e le chiamate da fare passano attraverso setBackgroundColor su UITableView.