我发现在 DTCoreText 中实现了绘制边框。但是找不到任何关于如何做到这一点的资源。我收到一些 html 文本,对其进行修改,然后使用 DTAttributedTextContentView 显示它。所以我的问题是,我可以以某种方式添加边框吗?如果是,也许有人有一个例子或知道在哪里可以找到如何做到这一点?提前致谢。
问问题
333 次
1 回答
1
我没有找到任何解决方案,所以我做了一个解决方法。如果有人会寻找这个:我创建了 DTCSSStylesheet 并为带有填充的 html 标签指定了一个 css。然后我用 DTCoreTextContentViewDelegate 方法画了一个边框。
- (BOOL)attributedTextContentView:(DTAttributedTextContentView *)attributedTextContentView shouldDrawBackgroundForTextBlock:(DTTextBlock *)textBlock frame:(CGRect)frame context:(CGContextRef)context forLayoutFrame:(DTCoreTextLayoutFrame *)layoutFrame
{
UIBezierPath *roundedFrame = [UIBezierPath bezierPathWithRoundedRect:frame cornerRadius:5];
CGColorRef color = [textBlock.backgroundColor CGColor];
if (color)
{
CGContextSetFillColorWithColor(context, color);
}
CGContextAddPath(context, [roundedFrame CGPath]);
CGContextFillPath(context);
CGContextAddPath(context, [roundedFrame CGPath]);
CGContextSetRGBStrokeColor(context, 0, 0, 0, 1);
CGContextStrokePath(context);
return NO; // draw standard background
}
于 2013-11-21T11:56:54.147 回答