我正在创建一个自定义视图,将 PDF 呈现为其边界矩形。
我已经粘贴了下面的代码:
CGContextSetRGBFillColor(context, 1.0,1.0,1.0,1.0);
CGContextFillRect(context, self.bounds);
CGRect pageRect = CGPDFPageGetBoxRect(page, kCGPDFMediaBox);
CGFloat scale = MIN(self.bounds.size.width / pageRect.size.width, self.bounds.size.height / pageRect.size.height);
CGContextSaveGState(context);
CGContextTranslateCTM(context, 0.0, self.bounds.size.height);
CGContextScaleCTM(context, 1.0, -1.0);
CGContextScaleCTM(context, scale, scale);
CGContextDrawPDFPage(context, self.page);
CGContextRestoreGState(context);
我的问题是,如果我在 drawRect 方法中使用上面的代码,它只会给我一个黑色矩形。如果我在 drawLayer: inContext: 方法中使用它,它工作正常。可能是什么原因 ?
PS:当使用它 drawRect 我使用方法 UIGraphicsGetCurrentContext() 来获取当前的图形上下文。