我动态地让 html 字符串稍后在 PDF 上呈现。在将它呈现为 PDF 之前,我想先计算它的高度,这样我就可以将一些 HTML 移到下一页。
它在 Objective C 中可行吗?我不想先将 HTML 字符串加载到 Web View 来计算高度,如回答 here , 因为生成动态 HTML 字符串的内存消耗非常高。
最佳答案
将其加载到 NSAttributedString
中,然后使用 boundingRectWithSize
获取大小。 (注意:在幕后 NSAttributedString
将数据传递给 Web View 以呈现 HTML)
NSAttributedString *attrStr = [[NSAttributedString alloc] initWithData:[htmlString dataUsingEncoding:NSUnicodeStringEncoding] options:@{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType } documentAttributes:nil error:nil];
CGSize size = CGSizeMake(width, 0);
CGRect rect = [attrStr boundingRectWithSize:size options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading context:nil];
关于ios - 如何获取将要呈现的 HTML 字符串的高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36079408/