Как изменить цвет текстовой метки в соответствии с ее результатом? - PullRequest
1 голос
/ 17 апреля 2020

Мое приложение представляет некоторые результаты оценки, и я хотел бы добавить цветовое изменение меток оценки от красного до зеленого в зависимости от результата:

self.scoreLabel.text = "\(total100)/100"

Какой самый простой способ реализовать это?

Заранее спасибо

Ответы [ 2 ]

4 голосов
/ 17 апреля 2020

вам нужно использовать атрибутивную строку

let myMutableString = NSMutableAttributedString(string: "\(total100)/100", attributes: [NSAttributedString.Key.font:UIFont(name: "Georgia", size: 18.0)!])
        myMutableString.addAttribute(NSAttributedString.Key.foregroundColor, value: UIColor.red, range: NSRange(location:7,length:3))
    self.scoreLabel.attributedText = myMutableString
1 голос
/ 17 апреля 2020

Вызывайте эту функцию при изменении результата.

func setTextColor(score: Int){
    if score < 34 {
        self.scoreLabel.textColor = .red
    }else {
        self.scoreLabel.textColor = .green
    }
}
...