web-dev-qa-db-fra.com

Changer la couleur du texte lorsque le bouton est enfoncé?

Je sais comment changer la couleur d'arrière-plan mais qu'en est-il du texte réel? Il ne semble pas y avoir de membre sur un bouton UIB appelé "couleur" ou quelque chose comme ça. Mon code:

@IBAction func yellowBtnClicked(sender: UIButton) {
        gameboard.image = UIImage(named: "Yellow_gb")
        resultsView.image = UIImage(named: "Yellow_results")
        colorsView.image = UIImage(named: "Yellow_colors")
        colorsBtn.color = UIColor.brownColor() //This line has the issue

    }
23
skyguy

Il n'y a pas de paramètre de propriété color dans UIButton. utilisez plutôt setTitleColor. Écrivez ceci dans viewWillAppear

colorsBtn.setTitleColor(UIColor.brownColor(), forState: UIControlState.Normal)

Cela changera la couleur du titre en marron pour UIControlState.Normal

Pour définir la couleur de title lorsque le bouton est dans l'état Highlighted, utilisez

colorsBtn.setTitleColor(UIColor.brownColor(), forState: UIControlState.Highlighted)
59
codester

Exemple Swift 3.0:

    colorsBtn.setTitleColor(UIColor .white, for: UIControlState.normal)
    colorsBtn.setTitleColor(UIColor .black, for: UIControlState.highlighted)
6
mobilecat