我在iPhone应用中使用核心文本布置了一些文本。我在用着 NSAttributedString 为给定的范围设置文本中的某些样式。

我似乎找不到设置背景 /突出显示颜色的属性,尽管这似乎是可能的。我找不到听起来相关的属性名称常数,并且文档仅列出:

kCTCharacterShapeAttributeName
kCTFontAttributeName
kCTKernAttributeName
kCTLigatureAttributeName
kCTForegroundColorAttributeName
kCTForegroundColorFromContextAttributeName
kCTParagraphStyleAttributeName
kCTStrokeWidthAttributeName
kCTStrokeColorAttributeName
kCTSuperscriptAttributeName
kCTUnderlineColorAttributeName
kCTUnderlineStyleAttributeName
kCTVerticalFormsAttributeName
kCTGlyphInfoAttributeName
kCTRunDelegateAttributeName

Twitterrific的开发商Craig Hockenberry在Twitter上公开表示,他使用核心文本呈现了Tweets,而Twitterrific具有此背景 /突出显示,当您触摸链接时,我正在谈论。

alt text

谢谢。

编辑: 这是一个 链接到推文 克雷格(Craig 跟进 如果触摸与链接相交,则提到使用CTFrameSetter指标来解决。

有帮助吗?

解决方案

最后,我必须使用核心文本指标方法(获取范围,边界,线的起源等)来计算链接的边界矩形。一旦我对每行的矩阵置入了链接,我就将背景纳入上下文,然后重新绘制上方的文本。

看起来像是一件大事,但它起作用了。

其他提示

使用iOS 6,我认为您可以得到所需的效果:nsbackgroundcolorattributename。如:

[attributedString addAttribute:NSBackgroundColorAttributeName value:[UIColor yellowColor] range:selectedRange];
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top