CGPDFDocument를로드하고 UIView (myContentView)에 하위 레이어로 추가 한 다음 myContentView를 UIScrollView에 추가합니다. 그건 잘 작동합니다. 이제 사용자가 원하는 경우 PDF를 회전 할 수있게하려고합니다. PDF를 초기에 약간의 로테이션과 함께 표시하는 것은 쉽습니다. 여기에서 수행합니다.회전 CGPDFDocument/페이지
- (void)drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx {
CGContextSaveGState (ctx);
CGContextSetRGBFillColor(ctx, 1.0, 1.0, 1.0, 1.0);
CGContextFillRect(ctx, CGContextGetClipBoundingBox(ctx));
CGContextTranslateCTM(ctx, 0.0, layer.bounds.size.height);
CGContextScaleCTM(ctx, 1.0, -1.0);
CGContextConcatCTM(ctx, CGPDFPageGetDrawingTransform(myPageRef, kCGPDFCropBox, layer.bounds, rotation, true));
CGContextDrawPDFPage(ctx, myPageRef);
CGContextRestoreGState (ctx);
}
하지만 초기로드 후에 어떻게 할 수 있습니까?
참고 : 작동하는 것처럼 보이는 myContentView를 회전하려했지만 더 이상 확대/축소 할 수 없습니다. "로테이션"에 새로운 가치가 있습니다. 어떻게해야합니까?
덕분에, 스티브
아직 아무것도. 나는 몇 가지 방법을 시도했다 : ivar로 CATiledLayer에 대한 ref를 저장 한 다음 그 setNeedsDisplay를 호출한다. 또한 scrollView.subviews [0] .sublayers [0]을 통해 CALayer에 액세스하려고 시도하고 그 setNeedsDisplay를 호출하지 않았다. 일했다. 나는 ivar로 회전을 저장하므로 매번 제대로 업데이트됩니다. drawLayer에 설정된 중단 점은 호출되지 않습니다. –
인터넷 검색을 기반으로 iOS SDK 4.x 버그가 의심됩니다. –