我正在使用 NSMutableAttributedString 在标签中显示多种字体和颜色文本。 NSMutableAttributedString 在 iOS 13 中无法按预期工作,但相同的代码在 iOS 11 和 12 版本中工作正常。
let hdAttributedText = NSMutableAttributedString(string: "Sample", attributes: [NSAttributedString.Key.font: UIFont(name: "HelveticaNeue", size: 14.0)!, NSAttributedString.Key.foregroundColor: UIColor.black])
hdAttributedText.append(NSAttributedString(string: " "))
hdAttributedText.append(NSAttributedString(string: "Description", attributes: [NSAttributedString.Key.font: UIFont(name: "HelveticaNeue-Medium", size: 14.0)!, NSAttributedString.Key.foregroundColor: UIColor(red: 0.29, green: 0.70, blue: 0.36, alpha: 1)]))
logoTextLabel.attributedText = hdAttributedText
预期结果是“示例描述”。在本文中,“示例”应为常规字体,黑色文本,“描述”应为中等字体,绿色
最佳答案
在 iOS 13 上,属性字符串在表格 View 中不起作用,幸运的是我知道一个解决方法,它会像魅力一样工作。
您需要做的就是使属性字符串在主线程上运行(即使您在 awakeFromNib 中设置属性字符串),如下所示:
DispatchQueue.main.async {
//set your attributed text here
}
关于swift - NSAttributedString 在 iOS 13 中未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58316790/