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)
发现一个错误,问题出在代码的其他地方。
此问题仅在 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)
发现一个错误,问题出在代码的其他地方。