NSLayoutManager类中的函数drawGlyphsForGlyphRange:atPoint:是如何实现的?我知道它是由NSTextView调用的,然后调用fillBackgroundRectArray:count:forCharacterRange:color:
但是它如何确定指定字形范围的backgroundcolor呢?
发布于 2014-02-27 17:46:19
你还有另一个字形背景的调用。您可以使用
- (void)drawBackgroundForGlyphRange:(NSRange)glyphsToShow atPoint:(CGPoint)origin;更新:
我在UIView的drawRect中是这样使用它的。
NSRange glyphRange = [layoutManager glyphRangeForTextContainer:textContainer];
if (glyphRange.location != NSNotFound)
{
[layoutManager drawBackgroundForGlyphRange:glyphRange atPoint:label.frame.origin];
[layoutManager drawGlyphsForGlyphRange:glyphRange atPoint:label.frame.origin];
}https://stackoverflow.com/questions/21764082
复制相似问题