Hinweis: Dies schien bei mir nicht zu funktionieren (vielleicht weil ich auf Swift 3.1 bin?). Paras Joshis ( stackoverflow.com/a/29701061/225813 ) Version hat jedoch funktioniert
Ashley Coolman
Ich habe meine Antwort bearbeitet. es wird sicher für Sie arbeiten .. Ashley Coolman
Shashi Verma
1
Sie müssen init nicht explizit in Swift 3
aufrufen
Ist es möglich, mehr als eine Farbe zu verwenden?
Gökhan Çokkeçeci
3
Gibt es einen Unterschied zwischen Ihren beiden Versionen?
Fogmeister
88
In Swift 4 können Sie die Rahmenfarbe und -breite mithilfe des folgenden Codes auf UIControls einstellen.
@ ShashiVerma Gern geschehen. Um detaillierte Informationen zu Ebenen zu erhalten, lesen Sie die Klassenreferenzdokumente der verschiedenen Objekte von Apple, damit dies auch für Sie hilfreich ist :)
Paras Joshi
16
Verwenden Sie dazu @IBDesignable und @IBInspectable .
Sie sind wiederverwendbar und können über den Interface Builder leicht geändert werden. Die Änderungen werden sofort im Storyboard angezeigt
Passen Sie die Objekte im Storyboard an die jeweilige Klasse an
Ich mag diese Lösung mehr, da es sich um eine wiederverwendbare Lösung handelt, bei der wir die UIView auf die benutzerdefinierte Ansicht setzen, aber noch mehr Änderungen zulassen.
n0rm
Dies war mein Lieblingsweg, um es zu erreichen, aber mit dem dunklen Modus funktioniert es nicht wirklich gut. Es erhält den Farbstil des aktuellen MacOS und verwendet statische. Aber eingebaut @IBDesignableund @IBInspectablealles funktioniert gut, also sollte es für den Zoll eine Möglichkeit geben, Color Assets auch im Dunkel- / Hell-Modus zu verwenden ~ weiß jemand, wie man das erreichen kann?
Nomad Developer
12
Sie können eine Erweiterung schreiben, um sie mit allen UIViews zu verwenden, z. UIButton, UILabel, UIImageView usw. Sie können meine folgende Methode gemäß Ihren Anforderungen anpassen, aber ich denke, sie wird für Sie gut funktionieren.
Irgendwie tut es nichts, wenn Sie nicht auch die Rahmenbreite explizit festlegen.
Nicolas Miari
@NicolasMiari das wäre zu erwarten ... Sie können keine Rahmenfarbe sehen, für die Sie keine Größe festgelegt haben.
Jono Guthrie
Entschuldigung, ich habe vergessen zu erwähnen, dass ich mich auf Textfelder beziehe ... die von Anfang an eine Standard-Randbreite ungleich Null zu haben scheinen. Ich hatte jedoch Mühe, die von mir eingestellte Farbe wiederzugeben, bis ich die Rahmenbreite explizit festlegte.
Anstatt eine neue Antwort hinzuzufügen, müssen Sie eine Bearbeitungsanfrage an den ursprünglichen Antwortenden gesendet haben
Rajan Maheshwari
@ RajanMaheshwari Bitte nein. Fügen Sie den Antworten anderer Personen keinen Code hinzu. Updates sollten als eigene Updates veröffentlicht werden, nicht in anderen Antworten. Auf diese Weise ist jedes Poster für das verantwortlich, was sie veröffentlichen ...
Eric Aya
@EricAya Es geht nicht darum, die Antwort zu aktualisieren. Es handelt sich um eine Bearbeitungsanforderung, die möglicherweise in Kommentaren an den Antwortenden enthalten ist. Hast du bekommen, was ich zu vermitteln versuchte?
Antworten:
Wenn Sie Swift 2.0+ verwenden
quelle
In Swift 4 können Sie die Rahmenfarbe und -breite mithilfe des folgenden Codes auf UIControls einstellen.
<Swift 4 , Sie können die Rahmenbreite und die Rahmenfarbe von UIView mit dem folgenden Code einstellen.
quelle
Verwenden Sie dazu @IBDesignable und @IBInspectable .
Sie sind wiederverwendbar und können über den Interface Builder leicht geändert werden. Die Änderungen werden sofort im Storyboard angezeigt
Passen Sie die Objekte im Storyboard an die jeweilige Klasse an
Code-Auszug:
Ermöglicht die einfache Änderung von Interface Builder:
quelle
@IBDesignable
und@IBInspectable
alles funktioniert gut, also sollte es für den Zoll eine Möglichkeit geben, Color Assets auch im Dunkel- / Hell-Modus zu verwenden ~ weiß jemand, wie man das erreichen kann?Sie können eine Erweiterung schreiben, um sie mit allen UIViews zu verwenden, z. UIButton, UILabel, UIImageView usw. Sie können meine folgende Methode gemäß Ihren Anforderungen anpassen, aber ich denke, sie wird für Sie gut funktionieren.
Verwendung:
quelle
schnell 3
quelle
Swift 5.2 , UIView + Erweiterung
Sie haben diese Erweiterung verwendet.
quelle
Schreiben Sie den Code in Ihre
viewDidLoad()
Und Sie können einstellen ,
Color
mitRGB
Erfahren Sie etwas über
CALayer
inUIKit
quelle
schnell 3.0
quelle
Wir können eine Methode dafür erstellen. Verwenden Sie es einfach.
quelle
Swift 3.0
quelle