2011-09-16 5 views
4

brow-leaves-67b10ed을 사용하여 UIView에서 PDF를 렌더링했습니다.UIView에서 렌더링 된 PDF의 텍스트 검색 및 강조

지금 필자의 필독은 텍스트를 검색하고 강조하는 것입니다.

UIView에서 텍스트의 정확한 위치를 얻을 수있었습니다. 이제 UIView는 나뭇잎 애니메이션을 지원하는 많은 레이어로 구성되어 있으며 페이지는 이미지에 캐시 된 다음이 레이어에 그려집니다. 여기서 실제 문제가 발생합니다. 내가 할 수없는 모든 레이어 위에 검색된 사각형에 채워진 사각형을 그립니다. UIView에 대해 setsneedRect를 호출하면 drawRect가 호출되지만 사각형이 그려지지 않으며 CALayer에 대한 setsneedsRect가 drawLayer : inContext를 호출하지 않습니다 .. 진행 방법을 도와 줄 수 있습니까? 빨리 회신 해주십시오. 미리 감사드립니다. 내가 setNeedsDisplay라고 때문에

.. 내가 라인 아래에 추가

[super setNeedsDisplay]; 
[searchLayer setNeedsDisplay]; 

..하지만 여전히 아무것도 일어날 것 같다 : inContext를 편집

이제 코드는 drawLayer를 호출 CALayer (searchLayer)에 대한 컨텍스트는 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); 
} 

} 

아무도 도와 줄 수 있습니까?

+0

가 어떻게 PDF 페이지에서 텍스트의 시작 위치를지고 잎 .. 당신이 검색 텍스트를 강조하려는 경우에 UIView를 사용하지 않는, 추천? – Eimantas

+0

@Eimantas 다른 파일들을 가지고있는 사람들을 만나고 있습니다. 많은 것들이 있습니다 ..하지만 잎이없는 것들을 사용한다면 정확한 위치를 얻고 있습니다. – DivineDesert

+0

이 도움이 될 수 있습니다 : [비슷한 질문에 대한 답변] [1] [1] : http://stackoverflow.com/questions/4737305/how-to-search-text-in- pdf-document-with-quartz/4738888 # 4738888 –

답변

1

나뭇잎보기에서 부적절한 레이어에 rect를 채우는 데 문제가있었습니다. 적절한 레이어 위치로 추가하려고 시도했지만 완료되었습니다.

하지만하지이어야보기

관련 문제