Wenn ich das backgroundColor
für mein einstelle UITableView
, funktioniert es gut auf dem iPhone (Gerät und Simulator), aber NICHT auf dem iPad-Simulator. Stattdessen bekomme ich einen hellgrauen Hintergrund für jede Farbe, die ich einstelle, einschließlich groupTableViewBackgroundColor
.
Schritte zum Reproduzieren:
- Erstellen Sie ein neues navigationsbasiertes Projekt.
- Öffnen Sie RootViewController.xib und setzen Sie den Tabellenansichtsstil auf "Gruppiert".
- Fügen Sie diesen Responder dem RootViewController hinzu:
- (void)viewDidLoad { [super viewDidLoad]; self.view.backgroundColor = [UIColor blackColor]; }
- Wählen Sie Simulator SDK 3.2, erstellen und ausführen.
- Sie erhalten einen schwarzen Hintergrund (Gerät und Simulator).
- Wählen Sie Ihr Ziel im Projektbaum aus.
- Klicken Sie auf Projekt: Aktuelles Ziel für iPad aktualisieren.
- Bauen und ausführen.
- Sie erhalten einen hellgrauen Hintergrund.
- Wenn Sie den Stil der Tabellenansicht auf "Normal" zurücksetzen, wird ein schwarzer Hintergrund angezeigt.
Danke für Ihre Hilfe!
ipad
uitableview
iphone-sdk-3.2
background-color
rjobidon
quelle
quelle
Antworten:
Probieren Sie eines davon aus.
quelle
Vielen Dank für diese Lösung. Ich habe dies auf eine UITableView-Eigenschaft mit IBOutlet in einem UIViewController angewendet und es funktioniert wie folgt:
quelle
Auf dem iPad
backgroundView
scheint die Eigenschaft verwendet zu werden, um die graue Hintergrundfarbe für gruppierte Tabellen zu erstellen. Um die Hintergrundfarbe für gruppierte Tabellen auf dem iPad zu ändern, solltenil
diebackgroundView
Eigenschaft deaktiviert und dannbackgroundColor
die gewünschte Tabellenansicht festgelegt werden.quelle
Ich denke, es ist erwähnenswert, dass ab Xcode 6.1 und iOS 8.1, speziell für iPad (wenn Sie auch den Zellenhintergrund festlegen möchten), anscheinend der Tabellenhintergrund UND der Zellenhintergrund festgelegt werden müssen.
Auf einem iPhone-Storyboard können Sie beispielsweise eine Zelle so einstellen, dass die Farbe klar ist, und dann das Hintergrundbild der Tabelle programmgesteuert für eine transparente Tabelle mit Hintergrundbild festlegen. Wenn Sie jedoch dieselbe Konfiguration auf dem iPad anzeigen würden, wären die Zellen nicht klar. Zellen müssen so eingestellt werden, dass sie programmgesteuert für das iPad gelöscht werden.
quelle
-viewDidLoad:
Methode meines View Controllers gelöscht werden.habe versucht, backgroundColor und View für die Tabelle einzustellen, hatte kein Glück (Xcode 5 iOS7.1 iPad Simulator), sah für das iPhone OK aus, aber die hellgraue Hintergrundfarbe auf dem iPad ...
Die Arbeit mit backgroundColor für die Zelle selbst hat dies für mich unter iOS 7.1 4/2014 behoben
}}
quelle
Wenn Ihre Anwendung sowohl auf das iPhone als auch auf das iPad abzielt, können Sie dies folgendermaßen tun:
Beachten Sie, dass die TableView-Zuordnung keine Autorelease für ARC enthält.
quelle
Wenn Sie einem anderen UIViewController einen UIViewController hinzufügen, müssen Sie zusätzlich zu UITableView auch den Hintergrund Ihrer Ansicht auf clearColor einstellen. Andernfalls erhalten Sie einen weißen Hintergrund anstelle von hellgrau.
quelle
Keines der oben genannten Verfahren funktionierte für meinen UIViewController-> UITableView, der mit einer einzigen XIB angegeben wurde. Was funktioniert hat, war das gesamte Setup in ein Storyboard zu verschieben und die Hintergrundfarbe mit dem IB-Inspektor festzulegen.
quelle
Ich habe auch solche Probleme. Die
UITableView
Hintergrundfarbe wird immer seingroupTableViewBackgroundColor
egal, was ich einstelle.Das Symptom ist wie folgt : UITableView setzt seine Hintergrundfarbe zurück, bevor die Ansicht angezeigt wird
Nachdem ich die Hintergrundfarbe in
init
Funktion gesetzt habe, ist sie korrekt. InviewDidLoad
undviewWillAppear
Bühne ist es richtig. InviewDidAppear
die Hintergrundfarbe jedoch auf die Standardfarbe zurückgesetzt.Die akzeptierte Antwort funktioniert jetzt nicht.
Hier ist meine Lösung. Stellen Sie einfach die Hintergrundfarbe von tableView auf
viewDidLoad
Funktion anstatt aufinit
oder einviewWillAppear
.quelle