透明背景&自动调整DTAttributedTextView的大小

时间:2014-06-23 13:01:38

标签: ios objective-c dtcoretext

我使用以下代码来应用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 *)indexPathcell.lblUIScrollView,其中包含自定义类DTAttributedTextView

但是,输出结果是DTAttributedTextView处于白色背景中,并且不会根据setContentSize调整大小。

我想念什么?

注意:使用iOS 7 SDK,DTCoreText 1.6.12(通过Cocoapods)

1 个答案:

答案 0 :(得分:0)

我终于找到了一种让背景透明的简单方法。

在代码末尾添加此行:

[cell.lbl setBackgroundColor:[UIColor clearColor]];