В моем приложении есть метод, который рисует PDF в контекст:
CGPDFPageRef page = CGPDFDocumentGetPage(pdf, index + 1);
CGAffineTransform transform = aspectFit(CGPDFPageGetBoxRect(page, kCGPDFTrimBox),
CGContextGetClipBoundingBox(ctx));
CGContextConcatCTM(ctx, transform);
CGContextDrawPDFPage(ctx, page);
Теперь в drawLayer, который вызывается при масштабировании, я делаю необходимые преобразования и снова вызываю CGContextDrawPDFPage(ctx, page);
Что происходит, так это то, что увеличенный pdf рисуется поверх первого pdf, проблема в том, что на конкретной странице, содержащей только текст, отображается задний и размытый pdf.Это странно, я подумал, что страница PDF имеет белый фон, и если это происходит, то это потому, что увеличенный PDF сверху имеет прозрачный фон.
Теперь, чтобы решить эту проблему, как я могу очистить контекст прямо перед CGContextDrawPDFPage (ctx, страница) метода drawLayer?Я пробовал:
//self.view.transform = CGAffineTransformIdentity;
//CGAffineTransform transform = CGAffineTransformIdentity;
//CGContextConcatCTM(ctx, transform);
//CGContextClearRect(ctx, layer.bounds);
Ничего не работает ... заранее спасибо