web-dev-qa-db-fra.com

Comment définir la couleur du texte du titre de UIButton?

J'ai essayé de changer les couleurs du texte d'un bouton, mais il reste toujours blanc.

isbeauty = UIButton()
isbeauty.setTitle("Buy", forState: UIControlState.Normal)
isbeauty.titleLabel?.textColor = UIColorFromRGB("F21B3F")
isbeauty.titleLabel!.font = UIFont(name: "AppleSDGothicNeo-Thin" , size: 25)
isbeauty.backgroundColor = UIColor.clearColor()
isbeauty.layer.cornerRadius = 5
isbeauty.layer.borderWidth = 1
isbeauty.layer.borderColor = UIColorFromRGB("F21B3F").CGColor
isbeauty.frame = CGRectMake(300, 134, 55, 26)
isbeauty.addTarget(self,action: "first:", forControlEvents: UIControlEvents.TouchUpInside)
self.view.addSubview(isbeauty)

J'ai aussi essayé de changer le rouge, noir, bleu, mais rien ne se passe.

96
coolmac

Vous devez utiliser func setTitleColor(_ color: UIColor?, forState state: UIControlState) de la même manière que vous définissez le texte du titre actuel. Docs

isbeauty.setTitleColor(UIColorFromRGB("F21B3F"), forState: .Normal)
216
luk2302

Swift UI solution

Button(action: {}) {
            Text("Button")
        }.foregroundColor(Color(red: 1.0, green: 0.0, blue: 0.0))

Swift 3, Swift 4, Swift 5

pour améliorer les commentaires. Cela devrait fonctionner:

button.setTitleColor(.red, for: .normal)
97
Vyacheslav

Exemple de réglage de la couleur du titre du bouton

btnDone.setTitleColor(.black, for: .normal)
6
handiansom
func setTitleColor(_ color: UIColor?, 
               for state: UIControl.State)

Paramètres:

couleur:
La couleur du titre à utiliser pour l'état spécifié.

état:
État qui utilise la couleur spécifiée. Les valeurs possibles sont décrites dans UIControl.State.

échantillon:

let MyButton = UIButton()
MyButton.setTitle("Click Me..!", for: .normal)
MyButton.setTitleColor(.green, for: .normal)
2
Ramprasath Selvam

C'est Swift 5 réponse compatible. Si vous souhaitez utiliser l’une des couleurs intégrées, vous pouvez simplement utiliser

button.setTitleColor(.red, for: .normal)

Si vous voulez des couleurs personnalisées, créez d'abord une extension pour UIColor comme ci-dessous.

import UIKit
extension UIColor {
    static var themeMoreButton = UIColor.init(red: 53/255, green: 150/255, blue: 36/255, alpha: 1)
}

Puis utilisez-le pour votre bouton comme ci-dessous.

button.setTitleColor(UIColor.themeMoreButton, for: .normal)

Conseil: Vous pouvez utiliser cette méthode pour stocker des couleurs personnalisées à partir du code de couleur rgba et les réutiliser dans votre application.

2
Jay Mayu