J'ai essayé de changer la couleur de la police de l'élément de bouton de la barre de droite en violet, mais elle apparaît toujours en blanc. J'ai consulté ce question et ce question . Comment puis-je réparer ça?
Code
let sortButton = UIButton(frame: CGRect(x: 0, y: 0, width: 34, height: 15))
sortButton.setTitle("SORT", for: .normal)
sortButton.titleLabel?.tintColor = UIColor.myMusicPurple
sortButton.tintColor = UIColor.myMusicPurple
navigationItem.rightBarButtonItem = UIBarButtonItem(customView: sortButton)
navigationItem.rightBarButtonItem?.tintColor = UIColor.myMusicPurple
Qu'en est-il de l'utilisation:
func setTitleColor(UIColor?, for: UIControlState)
La documentation indique qu'elle définit la couleur du titre à utiliser pour l'état spécifié.
sortButton.setTitleColor( .red, for: .normal)
Cela devrait faire l'affaire (si vous avez du texte brut)
let rightBarButtonItem = UIBarButtonItem(title: "Some text", style: .plain, target: self, action: #selector(someAction))
rightBarButtonItem.tintColor = UIColor.myMusicPurple
navigationItem.rightBarButtonItem = rightBarButtonItem
Veuillez essayer ceci
sortButton.setTitleTextAttributes([NSAttributedStringKey.foregroundColor : UIColor.white], for: .normal)
C'est simple, il suffit de créer une référence pour UIBarButtonItem de Main.stroyboard au fichier correspondant Swift comme celui-ci,
@IBOutlet var yourBarBtn: UIBarButtonItem!
Après cela, écrivez cette ligne,
yourBarBtn.tintColor = .white //your_color
C'est tout!