1
3つの異なるPDFファイルをロードしていて、drawLayerを使用してそれらを3つのUIビューに描画しています。これは動作しますが、3つすべてが1つのUIビューの同じレイヤーに描画されています。私はそれぞれ独自のUIViewに描画する必要がありますが、私はどのように3つの部分にこのコードを解析するかを理解することはできません。どんなアイデアですか?3つの異なるUIViewに3つのPDFファイルを描画するdrawLayerが必要です
// 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);
}
私はあなたにフォローしています。上記のdrawLayerを、例えばmapViewというUIViewにどのように割り当てるか。上記のコードの前に、特定のUIViewにも描画を割り当てるためのオープニングタグがありますか? – Redstar
'drawLayer:inContext:'の真ん中でこれを行うことは決してありません。それは描画方法です。そして、このビュークラス内にすべきではありません。これらのビューを所有するView Controllerでこれを行う必要があります。これはビューにデータを渡す役割を果たし、ビューはデータをレイヤーに渡します。 –