IOS, как очистить контекстную графику

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

Ничего не работает... заранее спасибо

5
задан Vin 15 March 2012 в 10:38
поделиться