2011-01-14 16 views
5

Ich verwende iOS SDK 4.2. Ich habe einen UIPopoverController initialisiert mit einem Navigation Controller, der mit einem View-Controller initialisiert wird. Eine der Teilansichten des View-Controllers ist eine gruppierte Tabellenansicht. Ich möchte die Hintergrundfarbe der Tabellenansicht ändern. Allerdings, wenn ich in der viewDidLoad Methode der View-Controller tutWie lege ich die Hintergrundfarbe eines UITableView innerhalb eines UIPopoverControllers fest?

self.myTableView.backgroundColor = [UIColor blackColor]; 

der Hintergrund ändert sich nicht, wenn der popover erscheint, ist der Hintergrund der Tabelle Ansicht ist grau. Irgendeine Ahnung? Was ist falsch an diesem Ansatz? Vielen Dank im Voraus.

Antwort

9

Gruppierte Tabellenansichten haben eine benutzerdefinierte Ansicht in der Eigenschaft backgroundView. In dieser benutzerdefinierten Ansicht wird der Hintergrund angezeigt. Wenn Sie den Hintergrund ändern möchten, sollten Sie eine eigene Ansicht erstellen und dort zuweisen. In Ihrem Fall möchten Sie wahrscheinlich etwas wie das Folgende:

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

Kevin, Ihr Vorschlag funktioniert perfekt. Mir wurde auch gesagt und verifiziert, dass das einfache Löschen der Hintergrundansicht der Tabellenansicht vor dem Festlegen der Hintergrundfarbe der Tabellenansicht das gleiche Ergebnis liefert: self.myTableView.backgroundView = nil; self.myTableView.backgroundColor = [UIColor blackColor]; –

Verwandte Themen