我正在尝试将attributestext设置为Basic UITableViewCell中“textlabel”的值。 但是,单元显示为空白!这是代码
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
// Configure the cell...
NSDictionary *docattr = [NSDictionary new];
NSError *myerror = [NSError new];
NSString *htmlString = [[[dm latestUpdates] objectAtIndex:indexPath.row] objectForKey:@"display_data"];
NSMutableAttributedString *updateText =
[[NSMutableAttributedString alloc] initWithData:[htmlString dataUsingEncoding:NSUTF8StringEncoding]
options:@{NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType,
NSCharacterEncodingDocumentAttribute: [NSNumber numberWithInt:NSUTF8StringEncoding]}
documentAttributes:&docattr
error:&myerror];
[cell.textLabel setAttributedText:updateText];
// cell.detailTextLabel.attributedText = updateText;
NSLog(@"cell text %@", cell.textLabel.text);
// cell.textLabel.text = htmlString;
return cell;
上面的代码将我的html转换为有效的属性字符串。但没有显示任何内容。有疑问的HTML是
<div class='title'><a href='mc://guru_txn/171'>Wilbur Ross bought EXCO Resources, Inc.</a></div><div class='description'>Wilbur Ross bought 19,599,973 shares of EXCO Resources, Inc. (<a href='mc://quotes/XCO'>XCO</a>) @ $5.00 per share on 2014-01-17.</div>
我不知道如何指定我想要各种“类”的值。但是,上面的html片段被解析为有效的属性字符串。
答案 0 :(得分:0)
我测试了你的代码,你的html字符串似乎有问题。
我尝试将htmlString设置为@“<div>Test</div>
”并且它有效。但是,当我在标签中包装“test”时,它将不再可见。
希望这会帮助你解决它。
P.S。:另外,尽量不要在tableView:cellForRowAtIndexPath
:方法中分配对象。它可以真正减慢你的滚动速度。