Fügen Sie "Öffnen in iBooks" zu UIWebView hinzu

8

Ich entwickle eine Wrapper-Anwendung für eine Site. Grundsätzlich wird die mobile Version einer Site in UIWebView geöffnet. Einige Links auf der Website verweisen auf PDFs.

Wenn die gleiche Seite in Safari geöffnet wird und ein Link zu PDF angezapft wird, wird ein schöner schwarzer Streifen mit "In iBooks öffnen" über der PDF angezeigt. Wie auf dem Bild unten:

Wie kann ich den gleichen Streifen in meiner App implementieren?

BEARBEITEN:

Ich bin nicht frage nach, wie man einen schwarzen Knopf auf einem durchscheinenden Hintergrund erzeugt.

Ich bin daran interessiert, den gesamten Workflow zu reproduzieren:

  • Der Benutzer navigiert zu einem PDF
  • Ein stripe (view) popups wenn und nur wenn die iBooks App (oder ein anderer PDF Viewer) installiert ist.
  • Durch Tippen auf eine Schaltfläche im Popup wird das Dokument an diese App übertragen und die App geöffnet.
Bobrovsky 14.11.2012, 08:41
quelle

2 Antworten

24

Um zu überprüfen, ob iBooks installiert ist, können Sie Folgendes aufrufen:

%Vor%

Sie können eine Liste von Anwendungen (warum nur auf iBooks beschränken?;)) mit:

präsentieren %Vor%

Beachten Sie, dass dies im iOS-Simulator nur funktioniert, wenn Sie eine App erstellt haben, die PDFs liest!

Wenn Sie nur die Option zulassen möchten, dass das PDF in iBooks geöffnet wird, können Sie versuchen, die URL der Datei an das Schema @ "ibooks: //" oder eines der anderen beiden Schemata anzuhängen iBooks bieten (die für Bücher im iBook Store funktionieren, aber ich bin nicht sicher, ob es auch für andere URLs funktioniert), die @ "itms-books: //" und @ "itms-bookss: //" sind. Sie können dann Folgendes tun:

%Vor%     
Gianluca Tranchedone 16.11.2012, 11:49
quelle
1

(Beantwortete erneut, da meine vorherige Antwort keinen Code enthielt. Entschuldigung)

Für eine Lösung, die mein Problem behebt, habe ich ein großartiges Beispiel hier gefunden.

Ich habe es hier ausgeschnitten und eingefügt, wenn es jemandem hilft. Volle Gutschrift für absoluteripple.com

Angenommen, Ihre Klasse heißt ViewController, dann in der ViewController.h-Datei:

%Vor%

Fügen Sie die folgenden Methoden in ViewController.m hinzu: // - Richten Sie den UIDocumentInteraction-Controller ein und setzen Sie seinen Delegaten auf self, damit wir die Callback-Ereignisse behandeln können

%Vor%

// - Die Schlüsselinstanzmethode ist hier presentOptionsMenuFromBarBUttonItem // - Es wird hier angenommen, dass es ein BarButtonItem namens _btnActions gibt %Vor%
  1. Fügen Sie eine Methode zum Aufrufen des oben genannten hinzu, wenn Sie die Apps anzeigen möchten, an die Sie die Datei senden können In diesem Beispiel ist ein UIBarButton mit den folgenden IBActions verdrahtet:
%Vor%

Das ist es. Wenn Sie auf die Schaltfläche klicken, wird ein Aktionsblatt angezeigt (alle mit der UIDocumentInteractionController-Klasse von Apple), das die Apps (falls vorhanden) anzeigt, an die Sie die Datei senden können.

Sie können optional die folgenden Delegate-Methoden implementieren:

%Vor%     
timv 17.06.2013 01:21
quelle

Tags und Links