UITableViewCell textLabel attributesOxt iOS7

时间:2014-01-29 19:35:16

标签: ios objective-c uitableview ios7 nsattributedstring

我正在尝试将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片段被解析为有效的属性字符串。

1 个答案:

答案 0 :(得分:0)

我测试了你的代码,你的html字符串似乎有问题。

我尝试将htmlString设置为@“<div>Test</div>”并且它有效。但是,当我在标签中包装“test”时,它将不再可见。

希望这会帮助你解决它。

P.S。:另外,尽量不要在tableView:cellForRowAtIndexPath:方法中分配对象。它可以真正减慢你的滚动速度。