iOS 13 NSAttributedString 在 UITableViewCell 中无法正常工作

iOS 13 NSAttributedString not working properly inside UITableViewCell

此问题仅在 iOS 13 中出现。第一次显示 UITableViewCell 字体和颜色将来自故事板,而文本来自属性字符串。当单元格被重复使用时,它将从属性字符串中获取字体和颜色。

这是我在

中的代码
func tableView(_ tableView: UITableView, cellForRowAt indexPath:IndexPath) -> UITableViewCell {
    let message = NSMutableAttributedString(string: "\(name): \(messageBody))", attributes: lastMessageAttributes)
    message.addAttributes(senderLastMessageAttributes, range: NSRange(location: 0, length: name.count + 1))
}

我也试过了

let message = NSMutableAttributedString(string: "\(name):)", attributes: lastMessageAttributes)
message.append(NSAttributedString(string: messageBody, attributes: senderLastMessageAttributes))

还有这个

let message = NSMutableAttributedString(string: "\(name):)", attributes: lastMessageAttributes)
message.append(NSAttributedString(string: messageBody, attributes: senderLastMessageAttributes))
let newMessage = NSMutableAttributedString(attributedString: message)

如果我不添加任何属性,它就可以正常工作,如下所示:

let message = NSMutableAttributedString(string: "\(name): \(messageBody))", attributes: lastMessageAttributes)

发现一个错误,问题出在代码的其他地方。