2017-02-18 5 views
0

Sagen wir, ich habe eine Hintergrundansicht mit einem Gradienten und ich füge eine UITableView oben drauf. Ich habe dann UITableViewHeaderFooterViews mit einer Hintergrundfarbe mit einem Alpha-Wert. Beispiel:Erhalten solider Version der Farbe mit Alpha-Wert unter Berücksichtigung der Farbe unter

self.backgroundColor = UIColor.black.withAlphaComponent(0.1) 

Die Hintergrundfarbe ändert sich dann basierend auf dem Teil des Farbverlaufs, über den aktuell gescrollt wird. Dies ist das Verhalten, das ich mir wünsche, aber wegen des nativen iOS-Verhaltens des Headers bewegen sich die Zellen unterhalb der transparenten Ansicht.

Daher brauche ich einen Weg, um eine feste Version einer Farbe mit einem Alpha-Wert basierend auf der darunter liegenden Farbe zu erhalten. Wenn ich also die obige Beispielfarbe über einem blauen Gradientenhintergrund hätte, würde ich eine etwas dunklere Farbe bekommen als darunter.

Wer weiß, wie man das macht? Das war schwierig zu erklären, fragen Sie bitte nach einer Klärung.

Danke!

Antwort

0

Eine Idee wäre, eine UIBlurView zu Ihrem UITableViewHeaderFooterViews hinzuzufügen. Auf diese Weise passt sich die Hintergrundfarbe Ihrer UITableViewHeaderFooterViews immer noch an, je nachdem, was darunter liegt, aber die UITableViewHeaderFooterViews wird immer noch lesbar sein.

wäre Eine weitere Option nicht UITableViewHeaderFooterViews verwenden (wenn Sie „native-iOS Verhalten klebrig Header“ ihr nicht benötigen und stattdessen eine benutzerdefinierte Zelle erstellen und es nur für Ihre Zeile 0.

verwenden
Verwandte Themen