Нужно drawLayer, чтобы нарисовать 3 PDF-файла в 3 различных UIViews - PullRequest
1 голос
/ 29 февраля 2012

Я загружаю 3 разных файла PDF и сушу, чтобы использовать drawLayer для их рисования в 3 UIviews. Это работает, но все они втягиваются в один и тот же слой одного UIview. Мне нужно, чтобы каждый из них был включен в свой собственный UIView, но я не могу понять, как разбить этот код на три части. Есть идеи, пожалуйста?

// This method takes care of the cropping and adds each PDF layer to the view
- (void)drawLayer:(CALayer *)layer inContext:(CGContextRef)context {
CGContextSetRGBFillColor(context, 1.0, 1.0, 1.0, 1.0);
CGContextFillRect(context, CGContextGetClipBoundingBox(context));
CGContextTranslateCTM(context, 0.0, layer.bounds.size.height);
CGContextScaleCTM(context, 1.0, -1.0);
CGContextConcatCTM(context, CGPDFPageGetDrawingTransform(mappageRef, kCGPDFCropBox, layer.bounds, 0, true));
CGContextDrawPDFPage(context, mappageRef);
CGContextConcatCTM(context, CGPDFPageGetDrawingTransform(vorpageRef, kCGPDFCropBox, layer.bounds, 0, true));
CGContextDrawPDFPage(context, vorpageRef);
CGContextConcatCTM(context, CGPDFPageGetDrawingTransform(labelpageRef, kCGPDFCropBox, layer.bounds, 0, true));
CGContextDrawPDFPage(context, labelpageRef);
}

1 Ответ

0 голосов
/ 29 февраля 2012

CALayer принадлежит одному UIView и отвечает за рисование только самого себя, а не других слоев. Вам нужен контроллер для отправки каждого файла PDF в правильный вид, и каждый вид должен нарисовать его в своем собственном слое.

...