代码之家  ›  专栏  ›  技术社区  ›  mjdth

CGPDFContextCreateWithURL未正确创建上下文

  •  1
  • mjdth  · 技术社区  · 16 年前

    nil :

    #import <QuartzCore/QuartzCore.h>
    
    @implementation UIView(PDFWritingAdditions)
    
    - (void)renderInPDFFile:(NSString*)path
    {
        CGRect mediaBox = self.bounds;
        CGContextRef ctx = CGPDFContextCreateWithURL((CFURLRef)[NSURL URLWithString:path], &mediaBox, NULL);
    
        CGPDFContextBeginPage(ctx, NULL);
        CGContextScaleCTM(ctx, 1, -1);
        CGContextTranslateCTM(ctx, 0, -mediaBox.size.height);
        [self.layer renderInContext:ctx];
        CGPDFContextEndPage(ctx);
        CFRelease(ctx);
    }
    
    @end
    

    控制台显示: <Error>: CGPDFContextCreate: failed to create PDF context delegate.

    1 回复  |  直到 16 年前
        1
  •  1
  •   addaon    16 年前

    如果字符串包含路径,则需要+[NSURL fileURLWithPath:],而不是+[NSURL URLWithString:]。