iOS中的NsAttributed字符串与UITableViewCell?(更多然后1500行)

时间:2015-12-07 19:00:26

标签: html ios objective-c uitableview nsattributedstring

我的应用程序中有一个场景,我需要在UITableView中显示超过1000行,每个单元格都有一个要显示的html字符串。

现在我使用了一种简单的方法来解析NSAttributedString中的htmlString,但这种方法使得UITableView滚动速度非常慢,并冻结了UITableView几秒钟。

我还考虑过在使用UITableView之前解析html字符串并将其存储在一些本地存储中,但因为它超过1000行而且将来可能会增加这种方法需要大量的是时候存储NSAttributedString

还有其他建议我可以在这个场景中使用吗?

我只在我的字符串中显示一些Bold和Color标记并排除其他标记吗?如果是这样,怎么样?

我应该使用UITextView来简化事情吗?或者也许是UIWebView

请分享您的观点

我现在正在使用这种简单的方法我知道这不是标准方法。

以下是我的样本字符串

> <b>Working Towards: </b>The pupil can answer 9 when asked 'I have
> eaten 8 grapes and eat one more. How many have I
> eaten?'<br><br/><b>Meeting: </b>The pupil can answer 27 when asked 'I
> have 28 grapes and eat one of them. How many are
> left?'<br><br/><b>Exceeding: </b>The pupil can answer 27 when asked 'I
> have 29 grapes and eat two of them. How many are left?'

在我的CellForRowAtIndexPath方法中:

NSString *tempObjectiveName = [NSString stringWithFormat:@"<font size=\"4\" color=#AAAAAA>%@</font>",currentObjective.name];
NSAttributedString * attrStr = [[NSAttributedString alloc] initWithData:[tempObjectiveName dataUsingEncoding:NSUnicodeStringEncoding] options:@{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType } documentAttributes:nil error:nil];
lbl_description.attributedText = attrStr;

0 个答案:

没有答案