搜索并突出显示在UIView中呈现的PDF文本

时间:2011-09-16 11:55:10

标签: iphone ios ios4

我已使用brow-leaves-67b10ed在UIView中呈现PDF。

现在我的必要性是搜索和突出文本。

我已经设法在UIView上获得文本的确切位置。现在UIView由许多层组成,以支持叶子动画,页面也缓存在图像中,然后在这些图层上绘制。这里出现了实际问题。我想在所有图层顶部的搜索位置绘制一个填充矩形,这是我无法做到的。如果我为UIView调用setsneedRect,则调用drawRect但不绘制矩形,而CALayer的setsneedsRect不会调用drawLayer:inContext ..任何人都可以帮我如何继续?请尽快回复。 提前致谢。

修改

现在代码正在调用drawLayer:inContext: 我在下面加了一行..

[super setNeedsDisplay];
[searchLayer setNeedsDisplay];

但似乎仍然没有发生......

因为我为CALayer(searchLayer)调用了setNeedsDisplay,所以上下文将是CALayer。 这是我显示高亮显示的代码:

- (void)drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx{
for (Selection *s in self.selections)
{
    CGContextSaveGState(ctx);

    CGContextConcatCTM(ctx, [s transform]);
    CGContextSetFillColorWithColor(ctx, [[UIColor yellowColor] CGColor]);
    CGContextSetBlendMode(ctx, kCGBlendModeMultiply);
    CGContextFillRect(ctx, [s frame]);
    CGContextRestoreGState(ctx);
}

}

任何人都可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

这是在叶子视图中在不适当的图层中填充rect的问题。我尝试添加具有适当层位置的那些并完成。

但我建议,如果你想要突出显示搜索到的文字,不要使用UIView ..不要至少离开视图