Ich habe wirklich den großen Wunsch, meine eigene Farbe auf den UITextField-Rand zu setzen. Bisher konnte ich jedoch herausfinden, wie nur der Grenzlinienstil geändert werden kann.
Ich habe die Hintergrundeigenschaft verwendet, um die Hintergrundfarbe folgendermaßen festzulegen:
self.textField.backgroundColor = textFieldColor;
Aber ich muss auch die Farbe des UITextField-Rahmens ändern. Und meine Frage war, wie man die Rahmenfarbe ändert.
Antworten:
Importieren Sie das
QuartzCore
Framework in Ihrer Klasse:und zum Ändern der Rahmenfarbe verwenden Sie das folgende Code-Snippet (ich setze es auf redColor),
Um zum ursprünglichen Layout zurückzukehren, setzen Sie einfach die Rahmenfarbe auf klare Farbe.
in schnellem Code
quelle
viewDidLoad
) und ändern diese Eigenschaften, indem Sieself.myTextField.layer.cornerRadius
usw. sagen . Diese Änderungen werden wirksam, sobald Sie Ihre App starten, aber Sie können die Änderungen im Storyboard nicht sehen. Wenn dies für Sie keinen Sinn ergibt, empfehlen wir Ihnen, eine Website zu besuchen, z. B. Ray Wenderlich, und einige Anfänger-Tuts zu lesen.Versuche dies:
und importiere QuartzCore:
quelle
Importieren Sie die folgende Klasse:
// Code zum Festlegen der grauen Farbe für den Rand des Textfelds
Bei
171.0
Bedarf durch die entsprechende Farbnummer ersetzen .quelle
Diese Frage taucht in einer Google-Suche ziemlich häufig auf und hat größtenteils funktioniert! Ich fand, dass Salman Zaidis Antwort für iOS 7 teilweise richtig war.
Sie müssen den "Zurücksetzen" -Code ändern. Ich fand, dass das Folgende zum Zurücksetzen perfekt funktionierte:
Ich verstehe, dass dies höchstwahrscheinlich auf Änderungen in iOS 7 zurückzuführen ist.
quelle
Um diese Aktionen anhand der akzeptierten Antwort zu vereinfachen, können Sie auch eine Kategorie für erstellen
UIView
(da dies für alle Unterklassen von UIView funktioniert, nicht nur für Textfelder:UIView + Additions.h:
UIView + Additions.m:
Verwendung:
quelle
Wenn Sie ein TextField mit abgerundeten Ecken verwenden, verwenden Sie diesen Code:
So entfernen Sie den Rand:
quelle
Update für Swift 5.0
quelle
borderColor für jede Ansicht (oder UIView-Unterklasse) kann auch mithilfe eines Storyboards mit ein wenig Codierung festgelegt werden. Dieser Ansatz kann sehr praktisch sein, wenn Sie die Rahmenfarbe für mehrere UI-Objekte festlegen.
Nachfolgend finden Sie die Schritte, wie Sie dies erreichen können:
PS: Denken Sie daran, dass in Kategorien keine Eigenschaften gespeichert werden können. 'borderUIColor' wird als berechnete Eigenschaft verwendet, nur als Referenz, um das zu erreichen, worauf wir uns konzentrieren.
Bitte schauen Sie sich das folgende Codebeispiel an.
Ziel c:
Schnittstellendatei:
Implementierungsdatei:
Swift 2.0:
Gehen Sie schließlich zu Ihrem Storyboard / XIB und befolgen Sie die verbleibenden Schritte.
Sie müssen den Eigenschaftswert layer.borderWidth auf mindestens 1 setzen, um die Rahmenfarbe anzuzeigen .
Erstellen und ausführen. Viel Spaß beim Codieren. :) :)
quelle
Hier ist eine schnelle Implementierung. Sie können eine Erweiterung erstellen, damit sie von anderen Ansichten verwendet werden kann, wenn Sie möchten.
Nennen Sie das wie :
email.addBorderAndColor(color: UIColor.white, width: 0.5, corner_radius: 5, clipsToBounds: true)
.quelle