Hier ist eine schöne Art und Weise Swift-Funktionen (Erweiterungen, berechnet Eigenschaften und Tupeln) der Verwendung von in nur das gleiche zu tun, ein einige Zeilen Code.
extension UIColor {
var hsba: (h: CGFloat, s: CGFloat, b: CGFloat, a: CGFloat) {
var hsba: (h: CGFloat, s: CGFloat, b: CGFloat, a: CGFloat) = (0, 0, 0, 0)
self.getHue(&(hsba.h), saturation: &(hsba.s), brightness: &(hsba.b), alpha: &(hsba.a))
return hsba
}
}
Swift 3.2/4 kleines Update
Swift 3.2/4 erzwungen eine neue Warnung mit dem vorherigen Code ausgelöst, weil Sie die hsba
Variable mehrmals im gleichen Aufruf getHue
wurden modifiziert
Gleichzeitige Zugriffe auf Parameter 'hsba', aber Änderung erfordert exklusiven Zugriff; Überlegen Sie, ob Sie in eine lokale Variable kopieren möchten.
extension UIColor {
var hsba:(h: CGFloat, s: CGFloat,b: CGFloat,a: CGFloat) {
var h: CGFloat = 0, s: CGFloat = 0, b: CGFloat = 0, a: CGFloat = 0
self.getHue(&h, saturation: &s, brightness: &b, alpha: &a)
return (h: h, s: s, b: b, a: a)
}
}
Mögliche Duplikat http://stackoverflow.com/questions/9142427/uicolor-conversion-from-rgb-to-hsv-set-brightness-to-uicolor http://stackoverflow.com/ Fragen/3017553/converting-from-rgb-zu-hsl-mit-objective-c http: // stackoverflow.com/questions/1050874/how-do-i-convert-rgb-in-hsv-in-cocoa-touch –