Ich stelle die Textfarbe für ein UIButton
headingButton.titleLabel.textColor = [UIColor colorWithRed:36/255.0
green:71/255.0
blue:113/255.0
alpha:1.0];
Es ändert nicht die Farbe des gleichen Codes, den ich in einem anderen Code verwende, der funktioniert.
Antworten:
verwenden
Ziel c
Schnell
quelle
Ich habe eine benutzerdefinierte Klasse MyButton erstellt, die von erweitert wurde
UIButton
. Dann fügte dies hinzu inIdentity Inspector
:Ändern Sie danach den Schaltflächentyp in Benutzerdefiniert :
Dann können Sie Attribute wie
textColor
undUIFont
für IhreUIButton
für die verschiedenen Zustände festlegen :Dann habe ich auch zwei Methoden innerhalb der
MyButton
Klasse erstellt, die ich in meinem Code aufrufen muss, wenn eineUIButton
als hervorgehoben angezeigt werden soll:Sie müssen den Wert
titleColor
für Normal, Hervorheben und Auswählen festlegen ,UIControlState
da gemäß der Dokumentation von mehr als ein Status gleichzeitig vorhanden sein kannUIControlState
. Wenn Sie diese Methoden nicht erstellen,UIButton
wird die Auswahl oder Hervorhebung angezeigt, sie verbleiben jedoch nicht in der vonUIColor
Ihnen eingerichteten Methode,UIInterface Builder
da sie nur für eine kurze Anzeige einer Auswahl verfügbar sind und nicht für die Anzeige der Auswahl selbst.quelle
|
anstelle von verwendet werden&
?In Swift:
Das Ändern der Beschriftungstextfarbe unterscheidet sich erheblich vom Ändern der Farbe für a
UIButton
. So ändern Sie die Textfarbe für eineUIButton
Verwendung dieser Methode:quelle
Mit der eingebauten Standardfarbe:
button.setTitleColor(UIColor.green, for: .normal)
ODER
Sie können Ihre benutzerdefinierte Farbe mithilfe der RGB-Methode verwenden:
button.setTitleColor(UIColor(displayP3Red: 0.0/255.0, green: 180.0/255.0, blue: 2.0/255.0, alpha: 1.0), for: .normal)
quelle