2017-10-11 9 views
1

Ich habe erfolgreich [[UITableView appearance] setBackgroundColor:[UIColor redColor]]; in didFinishLaunchingWithOptions für meine iOS App unter Xcode 8 und 9 und MacOS 10.12 (Sierra). Dies ist mit Simulator und Telefon-Hardware mit iOS 11.UITableView Aussehen SetBackgroundColor funktioniert nicht für Plain Table Styles wenn kompiliert auf MacOS High Sierra

Wenn ich auf 10.13 aktualisiert, hörte dieser Code für jede Tabellenansicht zu funktionieren, die nicht der "gruppierten" Stil ist. Wenn ich die Hintergrundfarbe für eine bestimmte Instanz festlege, funktioniert es einwandfrei.

Ich habe versucht, Xcode neu zu installieren, den Build zu säubern, zu überprüfen, dass ich keine lokalen Änderungen von der Quelle habe, wie sie auf anderen Computern erstellt (und funktioniert). Das Wechseln zwischen den 10.3- und 11.0-SDKs macht ebenfalls keinen Unterschied.

Nach Set UITableView BackgroundColor Universally with UIAppearance UITableView unterstützt möglicherweise diese Funktion nicht, aber diese Antwort ist jetzt ein paar Jahre alt und das hat für mich funktioniert scheint es zu widersprechen.

Eine gute Antwort würde erklären, welcher Unterschied in meiner Umgebung dieses Problem verursacht.

Antwort

1

Die Standardhintergrundfarbe für normale Tabellen hat sich offensichtlich geändert. Mit Blick auf die Storyboard-Datei, in Xcode 8.3.3 es dies erzeugt:

<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 

In Xcode 9 es geändert:

<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> 

kann dies also „fixiert“ werden, indem man auf jedem Tisch gehen und zurücksetzen die Hintergrundfarbe auf "Standard", aber dann wird Ihr Projekt in der anderen Umgebung nicht korrekt funktionieren.

+0

Das hat funktioniert, Danke! – TruMan1

Verwandte Themen