En mi aplicación tengo un método que dibuja un PDF en un contexto:IOS, cómo borrar los gráficos de contexto
CGPDFPageRef page = CGPDFDocumentGetPage(pdf, index + 1);
CGAffineTransform transform = aspectFit(CGPDFPageGetBoxRect(page, kCGPDFTrimBox),
CGContextGetClipBoundingBox(ctx));
CGContextConcatCTM(ctx, transform);
CGContextDrawPDFPage(ctx, page);
Ahora en drawLayer, que se llama cuando se hace zoom, hago las transformaciones necesarias y llamar de nuevo CGContextDrawPDFPage(ctx, page);
Lo que sucede es que un pdf ampliado se dibuja sobre el primer pdf, el problema es que en una página en particular con solo texto, se muestra la parte posterior y el PDF borroso. Eso es extraño, pensé que la página en pdf tenía fondo blanco y si esto sucede es porque el pdf ampliado tiene un fondo transparente.
Ahora, para resolver esto, ¿cómo puedo borrar el contexto justo antes de CGContextDrawPDFPage (ctx, page) del método drawLayer? Probé:
//self.view.transform = CGAffineTransformIdentity;
//CGAffineTransform transform = CGAffineTransformIdentity;
//CGContextConcatCTM(ctx, transform);
//CGContextClearRect(ctx, layer.bounds);
Nada funciona ... gracias de antemano
Su pregunta sugiere que el primer contexto no es el mismo contexto que se utiliza en 'drawLayer:'. ¿Cómo se crea el ctx original, cuándo se dibuja en él, y qué haces con él después? –