UIColor Erweiterung für Hexadezimalwerte: Unterschied zwischen den Versionen

Aus Wikizone
Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: „Ungetestet über chatGPT erstellt <syntaxhighlight lang="Swift"> extension UIColor { convenience init(hex: String) { let scanner = Scanner(string:…“)
 
 
Zeile 22: Zeile 22:
 
     }
 
     }
 
}
 
}
 +
</syntaxhighlight>
  
 
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.
 
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.
Zeile 27: Zeile 28:
 
Um die Farbe zu verwenden, kannst du dann einfach den Hexadezimal-Wert als String übergeben, wie hier gezeigt:
 
Um die Farbe zu verwenden, kannst du dann einfach den Hexadezimal-Wert als String übergeben, wie hier gezeigt:
  
let color = UIColor(hex: "#aabbcc")
+
let color = UIColor(hex: "#aabbcc")
</syntaxhighlight>
+
 
 +
Um die Erweiterung der UIColor-Klasse im ganzen Projekt verfügbar zu machen, gibt es ein paar Möglichkeiten:
 +
 
 +
# Du kannst die Erweiterung in einem Swift-File schreiben und das File dann dem Projekt hinzufügen. Dann kannst du von jedem anderen File aus auf die Erweiterung zugreifen, indem du sie importierst.
 +
# Du kannst die Erweiterung in einem Swift-File schreiben und das File dann zum Projektziel hinzufügen. Dann wird die Erweiterung automatisch zu jedem File hinzugefügt, das das Projektziel importiert.
 +
# Du kannst die Erweiterung in einem Framework schreiben und das Framework dem Projekt hinzufügen. Dann kannst du von jedem anderen File aus auf die Erweiterung zugreifen, indem du das Framework importierst.

Aktuelle Version vom 6. Januar 2023, 09:08 Uhr

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")

Um die Erweiterung der UIColor-Klasse im ganzen Projekt verfügbar zu machen, gibt es ein paar Möglichkeiten:

  1. Du kannst die Erweiterung in einem Swift-File schreiben und das File dann dem Projekt hinzufügen. Dann kannst du von jedem anderen File aus auf die Erweiterung zugreifen, indem du sie importierst.
  2. Du kannst die Erweiterung in einem Swift-File schreiben und das File dann zum Projektziel hinzufügen. Dann wird die Erweiterung automatisch zu jedem File hinzugefügt, das das Projektziel importiert.
  3. Du kannst die Erweiterung in einem Framework schreiben und das Framework dem Projekt hinzufügen. Dann kannst du von jedem anderen File aus auf die Erweiterung zugreifen, indem du das Framework importierst.