在Swift中,你可以通过使用NSAttributedString来改变文本的颜色。下面是一个示例代码,演示了如何将错误答案的文本变为红色,正确答案的文本变为绿色:
import UIKit
func highlightAnswer(isCorrect: Bool, answer: String) -> NSAttributedString {
var textColor: UIColor
if isCorrect {
textColor = .green
} else {
textColor = .red
}
let attributes: [NSAttributedString.Key: Any] = [
.foregroundColor: textColor
]
let attributedString = NSAttributedString(string: answer, attributes: attributes)
return attributedString
}
// 示例用法
let correctAnswer = "A"
let userAnswer = "B"
let isAnswerCorrect = userAnswer == correctAnswer
let highlightedAnswer = highlightAnswer(isCorrect: isAnswerCorrect, answer: userAnswer)
// 使用highlightedAnswer来显示文本,例如在UILabel上
let label = UILabel()
label.attributedText = highlightedAnswer
在上面的示例代码中,highlightAnswer
函数接受两个参数:isCorrect
表示答案是否正确,answer
表示答案的文本内容。
根据isCorrect
的值,我们选择相应的颜色(绿色或红色)作为文本的颜色。然后,我们使用NSAttributedString
创建一个富文本字符串,并将颜色设置为我们选择的颜色。
最后,你可以将highlightedAnswer
赋值给需要显示该文本的UI元素(如UILabel)。在这个例子中,我们将其赋值给一个UILabel的attributedText
属性,以显示带有正确或错误颜色的答案文本。