Mir ist klar, dass iOS 7 nicht offiziell veröffentlicht wurde und wir nicht darüber diskutieren sollten, ABER ich werde verrückt, wenn ich versuche, dieses Problem herauszufinden. Unter iOS 6 war meine Tabellenansicht transparent und sah großartig aus. Zum ersten Mal wird iOS 7 ausgeführt, und der Hintergrund ist weiß.
Ich habe versucht, die Tabelle backgroundColor, Zellenfarbe usw. usw. in UIColor clearColor zu ändern, habe aber keine Änderung vorgenommen.
Wie kann ich dieses Problem beheben?
ios
uitableview
Teddy13
quelle
quelle
backgroundView
klar zu stellen?Antworten:
in cellForRowAtIndexPath
Stellen Sie außerdem sicher, dass Ihre Tabellenansicht tatsächlich einen transparenten Hintergrund hat (im Storyboard):
quelle
Stell Dies:
In diesem Abschnitt:
quelle
backgroundView
auf eine leere Ansicht zu setzen, aber dieser zusätzliche Code wird für iOS 7 benötigt.Versuchen Sie zuerst, backgroundView auf Null zu setzen.
Ich bin mir nicht sicher, ob dies eine Änderung in der Dokumentation mit iOS7 ist oder schon immer vorhanden war und die Hintergrundfarbe nicht beeinflusst hat, sondern gemäß UITableView Class Reference @property backgroundView
"Sie müssen diese Eigenschaft auf Null setzen, um die Hintergrundfarbe der Tabellenansicht festzulegen."
edit: korrigierte Codesyntax
quelle
Dies wurde beantwortet, aber in vielerlei Hinsicht falsch.
Sie müssen die folgende Delegatenmethode implementieren:
Sie können das Update nicht in cellForRowAtIndexPath einfügen, da dies nach dem Rendern der Zelle erfolgt und ein weißer Hintergrund blinkt, bevor der Hintergrund gelöscht wird (auf langsameren Geräten).
Verwenden Sie diese Delegate-Methode und Ihre Probleme sind gelöst!
quelle
Tatsächlich unterscheidet sich der offiziell korrekte Ort zum Ändern der Hintergrundfarbe der Zelle gemäß der Dokumentation ( UITableViewCell-Klassenreferenz ):
quelle
schnell 3, 4 und 5
quelle
Dies ist ein ziemlich frustrierendes Problem. Hier ist meine aktuelle Lösung:
Fügen Sie dies Ihrer
UITableViewCell
Unterklasse hinzu.quelle
Dies funktionierte bei mir in iOS7 +:
und dann in
cellForRowAtIndexPath:
quelle
Versuchen Sie dieses Code-Snippet
quelle
Dies hat nur bei mir funktioniert, als ich für jede Zelle eine klare Hintergrundfarbe und für die Tabelle selbst eine klare Farbe bearbeitet habe. BEIDE PROGRAMMATISCH
So stellen Sie die klare Farbe für die Tabelle ein:
So stellen Sie die Farbe für die Zellen ein:
quelle
Eins zu schön. Die Standardfarbe von UITable scheint weiß zu sein (ich weiß nicht warum)
Aber ändern Sie das besser.
quelle
Erstes Set
Zweiter Satz
quelle
IB-Outlet für Tabellenansicht erstellen @IBOutlet schwach var yourTable: UITableView!
in Ansicht laden
Wenn Sie die Farbe von Cell löschen möchten, tun Sie dies auch in
quelle
In meiner App musste ich das
backgroundColor
für meineUITableViewCell
Klasse auf[UIColor clearColor]
Farbe setzen, als ich für aktualisiert habeiOS 7
.quelle
Versuchen
Und
quelle
In meinem Fall wurde die Zelle mit einem xib erstellt. Es scheint, als hätte der Interface Builder unter xcode5 Probleme, clearColor auf cell.backgroundColor zu setzen.
Alles was ich tun musste war tatsächlich zu setzen
quelle
Wählen Sie einfach Farbe im Hintergrund anzeigen für die Tabelle und auch für die Zelle aus.
quelle
schnell 3
quelle
quelle
einstellen
in viewDidLoad.
Wenn dies nicht funktioniert, versuchen Sie:
quelle
In schneller 3
quelle