Html UITableViewCell中的UILabel使每个willDisplayCell的字体大小加倍
我在表格单元格中有一个Html UITableViewCell中的UILabel使每个willDisplayCell的字体大小加倍,html,ios,uitableview,uilabel,nsattributedstring,Html,Ios,Uitableview,Uilabel,Nsattributedstring,我在表格单元格中有一个UILabel,我在界面生成器中设置了它的字体。现在,当显示单元格时,我获取HTML字符串并将其转换为NSAttributedString,其中我使用标签的字体类型和大小,并将其用作HTML文本的默认字体 问题是,每次重复使用单元格时,其标签的字体都会翻倍,例如从17点开始,然后是34、68到数百万 我从未在标签的字体属性中设置过任何内容,那么为什么它会发生变化呢 此my String扩展名用于将其格式化为NSAttributeString: public func get
UILabel
,我在界面生成器中设置了它的字体。现在,当显示单元格时,我获取HTML字符串并将其转换为NSAttributedString
,其中我使用标签的字体类型和大小,并将其用作HTML文本的默认字体
问题是,每次重复使用单元格时,其标签的字体都会翻倍,例如从17点开始,然后是34、68到数百万
我从未在标签的字体属性中设置过任何内容,那么为什么它会发生变化呢
此my String扩展名用于将其格式化为NSAttributeString:
public func getHtml2AttributedString(font: UIFont) -> NSAttributedString? {
let modifiedString = "<style>body{font-family: '\(font.fontName)'; font-size:\(font.pointSize)px; margin:0; padding:0;}</style>\(self)";
guard let data = modifiedString.data(using: .utf8) else {
return nil
}
do {
return try NSAttributedString(data: data,
options: [NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType, NSCharacterEncodingDocumentAttribute: String.Encoding.utf8.rawValue],
documentAttributes: nil)
}
catch {
print(error)
return nil
}
}
最后,这是
UILabel
的一个“功能”,即在设置attributedText属性后,它会根据attributedText的属性自动更改其字体属性。更多信息可以在中找到。您可以添加cellforrowatinexpath
code吗?@Priyal我刚刚添加了更多信息,的核心将显示方法
label.attributedText = htmlString?.getHtml2AttributedString(font: label.font)