2010-06-23 11 views
6

Ich habe eine Frage zur Ansicht, um mehrseitige PDFs in meiner App anzuzeigen. Ich habe Lösungen mit Webview gefunden, aber sie können nicht horizontal zwischen den Seiten zoomen und scrollen. Auch gefunden Lösungen mit Quartz2D aber das gleiche Problem wie oben.iPhone - PDF anzeigen wie in iBooks

Gibt es eine Möglichkeit, PDF wie in iBooks zu präsentieren? Sie können zwischen den Seiten horizontal und vertikal zoomen. Und auch, wie man mit einzelnen PDF-Dateien, nicht PDF-Seiten zu teilen.

Vielen Dank.

+0

Vielleicht I falsch, aber iOS4 sollte PDF-Lesesupport haben. ?! –

Antwort

2

Ich kann Ihnen die Antwort nicht geben, aber ich kann Sie zu einem Beispielprojekt umleiten, das in der Lage ist, ein mehrseitiges PDF Seite für Seite zu laden und zu rendern.
Um ehrlich zu sein, es ist männlich auf dem iBook Curl-Effekt (vergessen Sie es, es ist eine private API, keine Möglichkeit), aber im Inneren gibt es eine Klasse, die auf einer Ansicht eine PDF-Seite rendern, bin ich mir sicher, wenn Sie eine spielen wenig mit diesem Code, CGAffineTransformMakeScale, CGAffineTransformMakeTranslation und Touch-Steuerung werden Sie in der Lage, diesen Effekt zu erhalten.

Link zum Projekt:
http://blog.steventroughtonsmith.com/2010/02/apples-ibooks-dynamic-page-curl.html

+0

Diese Seite ist in der Tat interessant, aber ich habe es vor etwa 5 Tagen gefunden :) Ich habe nicht vor, Seite-Curl-Effekt zu verwenden. Ich möchte nur PDFs anzeigen wie iBooks App (nicht eBooks, aber PDFs - versuchen Sie es, es wird anders angezeigt) – rackom

2

Kasse dieses Beispielcode von Apple:

http://developer.apple.com/library/ios/samplecode/ZoomingPDFViewer/Introduction/Intro.html

Es sagt Sie, wie effizient Dokumente und Zoom PDF anzuzeigen.

Blättern finden Sie unter diesem Link:

http://www.random-ideas.net/posts/42

Zwischen den zwei von denen, die Sie alle gesetzt sein sollte.

+0

Versuchen Sie nicht, den Ansatz des Erstellens mehrerer CATiledLayers, die ZoomingPDFViewer tut. Es funktioniert nicht gut. Verwenden Sie einen CATiledLayer, der neu gezeichnet werden kann. – steipete