In Objective-C verwenden wir diesen Code, um RGB-Farbcodes für Ansichten festzulegen:
#define UIColorFromRGB(rgbValue)
[UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]
view.backgroundColor=UIColorFromRGB(0x209624);
Wie kann ich das in Swift verwenden?
Antworten:
Hier ist eine Swift-Version dieser Funktion (zum Abrufen einer UIColor-Darstellung eines
UInt
Werts):quelle
Ich wollte setzen
aber das hat nicht funktioniert.
Also habe ich verwendet:
Für Swift
Das ist also die Problemumgehung, die ich gefunden habe.
quelle
Die Antwort von Nate Cook hat mir sehr gut gefallen, aber ich wollte etwas Idiotischeres. Ich glaube, dies ist ein wirklich guter Anwendungsfall für einen praktischen Initialisierer über eine benutzerdefinierte Erweiterung.
Dies kann nun folgendermaßen verwendet werden:
Ich würde nur empfehlen, UIKit-Klassen wie diese in Ihrem eigenen Client-Code zu patchen, nicht in Bibliotheken.
quelle
0x
folgt nur eine beliebige Hex-Farbe - color-hex.comquelle
Der einfachste Weg, Farbe programmgesteuert hinzuzufügen, ist die Verwendung von ColorLiteral .
Fügen Sie einfach die Eigenschaft ColorLiteral hinzu, wie im Beispiel gezeigt. Xcode fordert Sie mit einer ganzen Liste von Farben auf, die Sie auswählen können. Dies hat den Vorteil, dass weniger Code, HEX-Werte oder RGB hinzugefügt werden . Sie erhalten auch die kürzlich verwendeten Farben aus dem Storyboard.
Beispiel: self.view.backgroundColor = ColorLiteral
quelle
Wenn Sie von einer Zeichenfolge (nicht hexadezimal) ausgehen, ist dies eine Funktion, die eine hexadezimale Zeichenfolge verwendet und eine UIColor zurückgibt.
(Sie können Hex-Zeichenfolgen in folgenden Formaten eingeben:
#ffffff
oderffffff
)Verwendung:
Swift 4:
Swift 3:
Swift 2:
Quelle: arshad / gist: de147c42d7b3063ef7bc
quelle
Verwenden Sie für Xcode 9
UIColor
RGB-Werte.Vorschau:
Weitere Apple-Dokumentation zu UIColor finden Sie hier .
quelle
UIColorFromRGB in Swift 4
quelle
Ich habe das Folgende in Kürze verwendet.
quelle
Lösung für das Argb-Format:
Verwendung:
quelle
Das ist für mich schnell erledigt. Versuche dies
quelle
Hinzufügen einer schnellen 3-Option:
quelle
Sie können keine komplexen Makros wie
#define UIColorFromRGB(rgbValue)
in Swift verwenden. Das Ersetzen eines einfachen Makros in Swift erfolgt durch globale Konstanten wieDie komplexen Makros, die Parameter akzeptieren, werden von swift jedoch nicht unterstützt. Sie könnten stattdessen Funktionen verwenden
Auszug aus der Verwendung von Swift mit Kakao und Ziel C.
Überprüfen Sie die Antwort von @Nate Cooks auf die Swift-Version dieser Funktion, die hier verwendet werden soll
quelle
Sie können dies verwenden:
quelle
Die Antwort von Nate Cook ist absolut richtig. Aus Gründen der Flexibilität behalte ich die folgenden Funktionen in meinem Paket:
Und so benutze ich sie:
Hoffe das wird helfen. Alles wird mit Swift 3 / Xcode 8 getestet.
quelle
Dies ist eine schöne Erweiterung für UIColor. Sie können beim Erstellen von UIColor-Objekten Enum-Werte (Hex, String) und direkte String-Werte verwenden.
Die Erweiterung verdienen wir https://github.com/ioramashvili/UsefulExtensions/blob/master/Extensions.playground/Pages/UIColor.xcplaygroundpage/Contents.swift
quelle
Ich kann sehen, dass es bereits beantwortet wurde, hoffe aber immer noch, dass ein Liner besser hilft.
Aktualisiert :: Änderungen gemäß dem vom Autor der Frage erläuterten Beispiel, um Hex-Werte bereitzustellen
quelle
Wenn Sie in Swift3 mit einer bereits ausgewählten Farbe beginnen, können Sie den RGB-Wert online abrufen ( http://imagecolorpicker.com ) und die als UIColor definierten Werte verwenden. Diese Lösung implementiert sie als Hintergrund:
@Vadym hat dies oben in den Kommentaren erwähnt und es ist wichtig, den CGFloat mit einem einzelnen Dezimalpunkt zu definieren
quelle
quelle
Dies kann einfach mithilfe dieser Initialisierung erfolgen
quelle