我需要在tableView中计算单元格的高度:heightForRowAtIndexPath:从html设置属性文本的功能非常昂贵:
[[NSAttributedString alloc] initWithData:[html dataUsingEncoding:NSUnicodeStringEncoding] options:options documentAttributes:nil error:&error];
在后台线程中在forward中创建属性字符串是不可能的/解决问题,因为该函数使用Webkit中的某些功能,并且只能在主线程上工作。
我不得不放弃使用UITableView并使用UIScrollView,但是重新使用内容视图存在问题。它在UITableView中为我管理,但tableView:heightForRowAtIndexPath:非常慢。我正在使用屏幕外原型单元格(也可以包括视图层次结构 - 在论坛中回复),以 systemLayoutSizeFittingSize 计算高度。
同样在使用UITableView的实现中,我使用了一个带有缓存属性字符串的字典,但速度并没有那么大。