我尝试使用NSAttributedString
及其中的html解决问题。我尝试在UILabel
中将其作为UITableViewCell
中的属性文本进行绘制。
我有一个html字符串:
<span class=\"\">Безвозмездно</span>
所以我用方法创建了一个属性字符串:
+ (NSAttributedString *)attributedStringWithHTML:(NSString *)HTML {
NSDictionary *options = @{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType };
return [[NSAttributedString alloc] initWithData:[HTML dataUsingEncoding:NSUnicodeStringEncoding] options:options documentAttributes:NULL error:NULL];
}
然后我尝试计算类方法中的字符串高度以获得单元格高度。我用:
if (attrString.length > 0) {
height += truncf([attrString boundingRectWithSize:CGSizeMake(300, CGFLOAT_MAX)
options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading
context:nil].size.height) + 1.0f;
}
所以我得到的标签高度小于我得到的标签:
[self.titleLabel sizeToFit];
任何人都可以帮我解决这个问题吗?
答案 0 :(得分:0)
我也遇到过这个问题。目前我发现它出现在UILabel和UITextView中。在我看来,它是Apple的一个错误。因此,为了保证结果的准确性,我更喜欢用[self.titleLabel sizeToFit]