我用过眉叶-67b10ed https://nodeload.github.com/brow/leaves/zipball/master在 UIView 中渲染 PDF。
现在我的需要是搜索并突出显示文本。
我已经设法获得 UIView 上文本的确切位置。现在 UIView 由许多层组成,以支持叶子动画,并且页面缓存在图像中,然后在这些层上绘制。实际的问题就出现在这里。我想在所有图层顶部的搜索位置绘制一个填充矩形,但我无法做到。如果我为UIView调用setsneedRect,则调用drawRect但未绘制矩形,并且CALayer的setsneedsRect不调用drawLayer:inContext..任何人都可以帮助我如何继续吗?请尽快回复。
提前致谢。
EDIT
现在代码正在调用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);
}
}
有人可以帮忙吗?
这是在叶子视图中不适当的层中填充矩形的问题。我尝试添加那些具有适当图层位置的内容,然后就完成了。
但我建议,如果你想突出显示搜索到的文本,不要使用 UIView。至少不要离开视图
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)