Ich arbeite in einer App, die Karte in pdf anzeigt. Darin habe ich die Grundkarte pdf (pdf1) oben auf das ich eine andere pdf (PDF2) Schicht zu zeigen, muß die Städte Namen hat.Korrektes Hinzufügen von Inhalten zu pdf beim Zoomen ios
Ich bin in der Lage, dies zu tun, indem sie wie unten auf der Ansicht eines weiteren CATiledLayer Objekt hinzufügen:
NSString *filePath = [[NSBundle mainBundle] pathForResource:fileName ofType:@"pdf"];
NSURL *pdfURL = [NSURL fileURLWithPath:filePath];
CGPDFDocumentRef myDocumentRef = CGPDFDocumentCreateWithURL((CFURLRef) pdfURL);
_PDFPageRef = CGPDFDocumentGetPage(myDocumentRef, 1);
CATiledLayer *tiledLayer = [CATiledLayer layer];
tiledLayer.delegate = self;
tiledLayer.levelsOfDetail = 3; // Zoom levels
tiledLayer.levelsOfDetailBias = 3; // Bias
tiledLayer.backgroundColor = [UIColor clearColor].CGColor;
UIScreen *mainScreen = [UIScreen mainScreen]; // Main screen
CGFloat screenScale = [mainScreen scale]; // Main screen scale
CGRect screenBounds = [mainScreen bounds]; // Main screen bounds
CGFloat w_pixels = (screenBounds.size.width * screenScale);
CGFloat h_pixels = (screenBounds.size.height * screenScale);
CGFloat max = ((w_pixels < h_pixels) ? h_pixels : w_pixels);
CGFloat sizeOfTiles = ((max < 512.0f) ? 512.0f : 1024.0f);
tiledLayer.tileSize = CGSizeMake(sizeOfTiles, sizeOfTiles);
tiledLayer.frame = CGRectIntegral(CGPDFPageGetBoxRect(_PDFPageRef, kCGPDFCropBox));
[[self layer] addSublayer:tiledLayer];
[self setNeedsDisplay];
Aber ich bin vor zwei Probleme:
Wenn pdf1 nicht vollständig geladen ist, und Ich füge ein weiteres pdf2 darüber hinzu, dann wird pdf1 nie vollständig geladen werden. Es wird verschwommen sein.
Wenn pdf1 vollständig geladen ist, dann PDF2 auf das Hinzufügen und das Zoomen nach 3,4-mal Zoomens wird pdf1 blurr.
Bitte helfen !!