Ich versuche, eine Tabellenansicht (benutzerdefinierte Klasse nicht UITableView), in dem die Ergebnisse einen Farbverlauf unten wie im Beispiel Bild haben zu erstellen:Wie kann ich einen Farbverlaufseffekt mit Farbeinteilungen erzeugen?
Was ich versuchte:
- Es ist mir gelungen, den richtigen Gradienten als Hintergrund für jede Tabellenzelle hinzuzufügen, aber ich brauche es, um die Farbe des Textes jedes Etiketts zu sein, nicht den Hintergrund jeder Zelle. Question. (Ich habe diese ein.)
FAILED atempt:
- Erstellen eines benutzerdefinierten Gradientenbild und Hinzufügen als colorWithPatternImage: zu jedem Etikett aber seit Der Gradient ist einer, jede Zelle sieht gleich aus. Question.
atempt FAILED:
Letzte, was zu versuchen:
Sie zwei Farben Angenommen haben, color1 und color2. Ein Farbverlauf kann durch Mischen dieser Farben entstehen. Im Bild oben ist color1 = lila und color2 = orange. Es wäre einfach, einen Farbverlaufseffekt zu erstellen, indem Sie den Farbverlauf in Abschnitte basierend auf der Anzahl der Ergebnisse teilen und dann die durchschnittliche Farbe jedes Abschnitts finden und diese als Textfarbe für jedes entsprechende Ergebnis verwenden.
Zum Beispiel:
5 Ergebnisse = 5 Divisionen.
- Divisionen1 = lila
- division2 = weniger lila, mehr Orange
- division3 = gleich lila, gleich Orange
- division4 = mindestens lila, die meisten Orange
- division5 = orange
Das Ergebnis ist nicht so detailliert, da jeder Text eine einfarbige Farbe hat, aber es ist ebenso beeindruckend, wenn der Text klein ist:
Das Problem ist, für zwei Farben wie diese:
Lila: 128,0, 0,0, 255,0
Orange: 255,0, 128,0, 0,0
Wie Sie es aufteilen in 5 Abschnitte und finden Sie den Durchschnitt der einzelnen Abschnitte?
Ich könnte dies mit dem Pipette-Tool in Pixelmator tun, aber nur wenn ich die feste Anzahl der Ergebnisse kannte, wird nicht mit 6 Ergebnissen arbeiten.
Ich kann es mit Mathe nicht nähern, ich weiß nicht, wo ich anfangen soll.
Irgendwelche Ideen?
Wenn Sie das nur in Objective-c veröffentlichen könnten. – Vulkan
@Vulkan Die APIs und die Logik sind alle gleich, egal ob Sie Swift oder Objective-C verwenden. Es gibt existierende SO-Antworten, die beschreiben, wie all diese Dinge zu tun sind (rgb-Werte von einem 'UIColor' erhalten, ein Array erstellen und modifizieren usw.) – nathan
Sie haben Recht, aber ich kann Swift nicht lesen und ich lese diese: "firstColor. getRed (& firstRed, grün: & firstGreen, blue: & firstBlue, alpha: & firstAlpha) "," func mix (_ zuerst: CGFloat, _ zweites: CGFloat, Verhältnis: CGFloat) -> CGFloat {return first + ratio * (zweites - erstes) } ". Ich kann sie nicht lesen und kann sie nicht in ObjC konvertieren. – Vulkan