我想在Text()中的一个单词上设置颜色。 根据语言环境,该单词可能位于字符串中的不同位置。
示例:
(MYAPP 是我想要以红色显示的单词)
英语中: Hello,欢迎使用MYAPP应用程序。
法语中: Bonjour,欢迎使用MYAPP应用程序。
在我的代码中,我可以这样使用:
Text("Hello, welcome in ")
+ Text("MYAPP").foregroundColor(.red)
+ Text("app")
但这不起作用,因为如果我在使用法语的应用程序时,单词'app'不会放在句子的末尾而是在MYAPP之前,所以我不能与本地化一起使用并且我需要它。
我尝试了像这样从网上找到的东西:
let color = UIColor.red;
let textToFind = "redword"
let attrsString = NSMutableAttributedString(string:yourlabel.text!);
// search for word occurrence
let range = (yourlabel.text! as NSString).range(of: textToFind)
if (range.length > 0) {
attrsString.addAttribute(NSForegroundColorAttributeName,value:color,range:range)
}
// set attributed text
yourlabel.attributedText = attrsString
任何建议? 谢谢。