我加载一个CGPDFDocument,并称作为子层到一个UIView(myContentView),然后加入到myContentView一个UIScrollView。这工作正常。现在我想允许用户旋转PDF,如果他们选择。这很容易让PDF最初一些rotation-显示我只是做在这里:旋转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,这看起来像是有效,但做完之后,我无法再放大/缩小PDF ......我想我需要的是强制drawLayer再次被调用在“轮换”中具有新的价值......我该怎么做?
谢谢, 史蒂夫
还是什么都没有。我已经尝试了几种方法:节省了裁判的CATiledLayer作为伊娃,然后调用上setNeedsDisplay ..也试图通过scrollView.subviews访问的CALayer [0] .sublayers [0],并呼吁该setNeedsDisplay ..既不已经工作了。我将自转存储为ivar,以便每次都能正确更新。不调用在drawLayer中设置的断点。 –
基于一些谷歌搜索,我开始怀疑这是我在iOS SDK 4.x的错误。 –