UIColor Erweiterung für Hexadezimalwerte

Aus Wikizone
Version vom 6. Januar 2023, 09:05 Uhr von 134.3.86.14 (Diskussion) (Die Seite wurde neu angelegt: „Ungetestet über chatGPT erstellt <syntaxhighlight lang="Swift"> extension UIColor { convenience init(hex: String) { let scanner = Scanner(string:…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Ungetestet über chatGPT erstellt

extension UIColor {
    convenience init(hex: String) {
        let scanner = Scanner(string: hex)
        scanner.scanLocation = 0

        var rgbValue: UInt64 = 0

        scanner.scanHexInt64(&rgbValue)

        let r = (rgbValue & 0xff0000) >> 16
        let g = (rgbValue & 0xff00) >> 8
        let b = rgbValue & 0xff

        self.init(
            red: CGFloat(r) / 0xff,
            green: CGFloat(g) / 0xff,
            blue: CGFloat(b) / 0xff, alpha: 1
        )
    }
}

Dies ist eine Erweiterung der UIColor-Klasse, die eine bequeme Initialisierungsfunktion enthält, die einen Hexadezimal-Farbwert als String akzeptiert und eine UIColor-Instanz erstellt.

Um die Farbe zu verwenden, kannst du dann einfach den Hexadezimal-Wert als String übergeben, wie hier gezeigt:

let color = UIColor(hex: "#aabbcc")