我使用以下代码来应用DTAttributedTextView
:
NSData *data = [content dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary *builderOptions = @{DTDefaultFontFamily: @"Helvetica", DTUseiOS6Attributes: [NSNumber numberWithBool:YES]};
NSAttributedString *attrString = [[NSAttributedString alloc] initWithHTMLData:data options:builderOptions documentAttributes:nil];
DTCoreTextLayouter *layouter = [[DTCoreTextLayouter alloc] initWithAttributedString:attrString];
CGRect maxRect = CGRectMake(10, 20, CGFLOAT_WIDTH_UNKNOWN, CGFLOAT_HEIGHT_UNKNOWN);
NSRange entireString = NSMakeRange(0, [attrString length]);
DTCoreTextLayoutFrame *layoutFrame = [layouter layoutFrameWithRect:maxRect range:entireString];
CGSize sizeNeeded = [layoutFrame frame].size;
[cell.lbl setContentSize:sizeNeeded];
[cell.lbl setAttributedString:attrString];
上述代码位于- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
且cell.lbl
为UIScrollView
,其中包含自定义类DTAttributedTextView
。
但是,输出结果是DTAttributedTextView
处于白色背景中,并且不会根据setContentSize
调整大小。
我想念什么?
注意:使用iOS 7 SDK,DTCoreText 1.6.12(通过Cocoapods)
答案 0 :(得分:0)
我终于找到了一种让背景透明的简单方法。
在代码末尾添加此行:
[cell.lbl setBackgroundColor:[UIColor clearColor]];