首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >旋转CGPDFDocument/Page

旋转CGPDFDocument/Page
EN

Stack Overflow用户
提问于 2011-03-06 23:33:14
回答 2查看 847关注 0票数 0

我加载一个CGPDFDocument,将其作为子层添加到UIView ( myContentView )中,然后将myContentView添加到UIScrollView中。这很好用。现在我想允许用户旋转PDF,如果他们选择的话。让PDF以旋转的方式开始显示很容易--我只需要在这里这样做:

代码语言:javascript
复制
- (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再次被调用,并在“rotation”中设置一个新值。我该怎么做?

谢谢,史蒂夫

EN

回答 2

Stack Overflow用户

发布于 2011-03-06 23:37:17

要发出需要重新绘制图层的信号,请向其发送setNeedsDisplaysetNeedsDisplayInRect:消息。您必须将所需的旋转角度存储在ivar/属性中,并从drawLayer:inContext:访问该值。

票数 0
EN

Stack Overflow用户

发布于 2011-03-06 23:43:45

尝试在图层上调用setNeedsDisplay

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5211397

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档