В моем приложении есть метод, который рисует 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);
Ничего не работает... заранее спасибо