UIColor Erweiterung für Hexadezimalwerte: Unterschied zwischen den Versionen
Aus Wikizone
(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") |
| − | + | ||
| + | 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:
- 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.