我用过brow-leaves-67b10ed在 UIView 中呈现 PDF。
现在我的需要是搜索和突出显示文本。
我已经设法获得文本在 UIView 上的确切位置。现在 UIView 由许多层组成以支持叶子动画,页面也缓存在图像中,然后在这些层上绘制。这里出现了实际的问题。我想在我无法做到的所有图层顶部的搜索位置绘制一个填充矩形。如果我为 UIView 调用 setsneedRect,调用 drawRect 但未绘制矩形,并且 CALayer 的 setneedsRect 不调用 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);
}
}
有人可以帮忙吗?
最佳答案
这是在叶 View 中不适当的层中填充矩形的问题。我尝试添加那些具有适当图层位置的图层,这样就完成了。
但我建议,如果你想突出显示搜索到的文本,不要使用 UIView。至少不要离开 View
关于iphone - 在 UIView 中呈现的 PDF 中搜索并突出显示文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7444285/