UIColor zu Hexadecimal (Webfarbe)

7

Gibt es eine einfache Möglichkeit, UIColor in einen hexadezimalen Wert zu konvertieren?
Oder müssen wir die RGB-Komponenten mit CGColorGetComponents bekommen und dann von dort aus arbeiten?

z. B. CGColorGetComponents(color.CGColor)[0] * 256 ?

    
fes 31.12.2011, 17:13
quelle

5 Antworten

7

Ich würde in Erwägung ziehen, die UIColor-Kategorie von Erica Sadun zu verwenden. Es enthält eine Menge von Funktionen kostenlos, einschließlich Hex-Darstellungen. Es ist ziemlich einfach zu verwenden, fügen Sie es einfach zu dem Klassenheader hinzu, in dem Sie es verwenden, oder fügen Sie es dem vorkompilierten Header für ultimative Flexibilität hinzu.  Wenn Sie den vorkompilierten Header hinzufügen, tun Sie dies etwa wie folgt:

%Vor%

Dann können Sie es wie folgt verwenden NSLog(@"%@", [myColor hexStringFromColor]);

GitHub-Link zur UIColor-Kategorie: Ссылка

ArsTechnica Artikel darüber: Ссылка

    
lewiguez 31.12.2011, 18:30
quelle
9

Ich musste auch einen UIColor in seine Hex-Komponenten konvertieren.

Wie bereits von lewiguez erwähnt, gibt es eine sehr gute Kategorie bei github , die all das Zeug macht.

>

Aber weil ich lernen wollte, wie es gemacht wird, habe ich meine eigene einfache Implementierung für RGB-Farben gemacht.

%Vor%

Alle Rückmeldungen sind willkommen!

    
Luc Wollants 20.01.2013 20:23
quelle
2

Neben der weit verbreiteten Lösung auf String-Basis gibt es hier eine hexadezimale (ganzzahlige) Lösung. Verwendung:

%Vor%

Und du wirst "color 120aef" bekommen. Ich gebe diesen Code in Ссылка ein, oder Sie können auch in Ihre eigene Code-Bank kopieren:

%Vor%     
superarts.org 09.09.2014 10:32
quelle
1

Soweit ich weiß, gibt es keine eingebaute Lösung.
Beachten Sie jedoch, dass Sie mit 255 anstatt mit 256 multiplizieren sollten.

Eine hexadezimale Darstellung zu erhalten ist eine einfache Aufgabe, so dass Sie nicht viele Probleme haben werden, die Zeichenkette manuell zu erstellen.

%Vor%     
user971401 31.12.2011 17:32
quelle
0

So habe ich es mit Swift 3 gemacht:

%Vor%

Oder Sie können es zu einer Methode machen. Ich mag nur, wie color.hex vs color.hex() aussieht.

    
boidkan 23.12.2016 20:53
quelle

Tags und Links