2009-06-28 11 views
1

Ich habe große Kopfschmerzen, um das herauszufinden. Ich versuche, eine einzelne Seite aus einer PDF-Datei (die einzige, die ist) anzuzeigen. Diese pdf-Seite ist eine Karte, die ich zoomen muss, mit Pinching, etc ... Ich mache das mit CATileLayers (jede Fliese ist 256x256, kann aber auf eine größere Größe gesetzt werden). Es macht den Job aber WIRKLICH langsam. Was ich tun wollte, war, alle diese Fliesen auf einmal zu laden. Ist das möglich? drawInContext: wird für jede Kachel aufgerufen, aber wenn ich mich bewege, muss ich darauf warten, dass sie erscheinen, und ich wollte eine reibungslose Erfahrung auf dem Gerät. Ich bin nicht wirklich zum Zoomen gekommen, aber ich fürchte, es wird mehr Arbeit erfordern, als ich erwarte. Anders als das gibt es eine Möglichkeit, die Grenzen des Superlayers zu stoppen, wenn es die Grenzen davon erreicht, oder ich muss das manuell auf touchesMoved tun? Wer hatte jemals mit dieser Situation zu tun?Anzeigen von PDFs auf dem iPhone - CALayers?

Ich versuche, den Code von Bill Dudley hier gefunden zu finden: http://bill.dudney.net/roller/objc/entry/catiledlayer_example, aber nicht so viel Glück.

Jede Hilfe und Vorschläge würden sehr geschätzt werden. Danke

Antwort

1

Haben Sie UIWebView versucht? Es kann PDF-Inhalte sowie einige Office-Doctypes anzeigen.

+0

Leider kann ich ein UIWebView nicht verwenden, es ist zu langsam für das Dokument, das ich zeichne. Danke –

+0

Ich hatte das gleiche Problem mit UIWebView. –

0

„Es macht den Job, aber wirklich langsam“

„Ich habe eine UIWebView nicht verwenden kann, ist es zu langsam“

Es klingt wie, was Sie wollen für das iPhone ist/iPod, um eine leistungsfähigere CPU/GPU zu haben. Abgesehen davon, dass Sie Ihre tileSize auf 1024x1024 einstellen, können Sie wirklich nicht viel mehr tun.

+1

Danke für Ihre Antwort hatfinch. Ich gab das PDF auf und schaffte es, es mit einem anderen Ansatz zum Laufen zu bringen: das PDF in ein gekacheltes Bild umzuwandeln und das ScrollViewSuite-Beispiel von Apple zu verwenden. Vielen Dank. –