swift - NSAttributedString 在 iOS 13 中未按预期工作

标签 swift xcode nsattributedstring ios13 nsmutableattributedstring

我正在使用 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/

相关文章:

swift - 如何在另一个 View Controller 中从一个 View Controller 引用变量(选择器 View 值)?

ios - 使用 UIImageView+AFNetworking Xcode 7 加载图像

html - 将属性字符串转换为 "simple"标记的 html

ios - 如何添加标签部分文本背景的图像?

swift - 如何在 swift 中执行逻辑 XOR 运算以找出所有文本字段是空还是满?

swift - 按名称获取 Swift 类型的类型标识

ios - 如何通过单元格内的按钮将 NSIndexPath 传递到另一个 ViewController?

swift - SKPhysics 无法正常工作?

ios - iPhone 锁定时声音不会启动 (Swift)

ios - 是否可以更改 UITextView 和 UITextField 中单个单词的颜色