1

私は現在、UIWebView 内に 1 つの pdf を表示するアプリに取り組んでいます。それはうまくいっています。pdf は次のように読み込まれます。

NSString *path = [[NSBundle mainBundle] pathForResource:@"file_name" ofType:@"pdf"];
NSURL *url= [NSURL fileURLWithPath:path];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[webview loadRequest:request];

ただし、pdf には、各ページに最初のページ (目次) に戻るためのリンクも含まれています。.xib ファイル内でユーザー操作とリンク検出を有効にしました。シミュレータやデバイスでテストしたところ、iOSのバージョンによってはうまくいく場合がありました。

iOS 4.3 の場合 (シミュレーターのみ): 動作しません。リンクは認識されず、通常のテキストとして扱われます。(だから私は < iOS 5 をサポートしないと思います)

iOS 5.1 (シミュレーターおよびデバイス): 正常に動作します。各リンクは、pdf の最初のページに戻ります。これまでのところ問題はありません。

iOS 6.0 (シミュレーターとデバイス): 最初に使用したリンクは 1 回だけ機能します。再試行しても、どのリンクを使用しても何も起こりません。アプリを完全に再起動すると、再び機能しますが、1 回だけです。

では、iOS 5.1 と同じように iOS 6 で動作させる方法を知っている人はいますか? CGDPF* api ごとに pdf を描画し、pdf をスキャンしてリンクを見つけることが解決策であると思われるいくつかの同様の問題について読みました。(ここに集められているようなもの:iPhone / iPad / iOS用の高速で無駄のないPDFビューア-ヒントとヒント?)しかし、PDFビューアが提供できるすべての機能は必要ないため、可能であればそれを避けたいと思います.

別の方法があることを願っています。読んでくれてありがとう:)

4

1 に答える 1

0

最近、この問題に遭遇しました。その理由は、iOS 6.1+ の場合です。これらのリンクのいずれかをクリックすると、別のページ (最初のページ) に移動し、ドキュメント内の任意のページに再度移動する前に「戻る」必要があります。アプリにバンドルされている静的ドキュメントを表示しているため、これらのページ リンクをカスタム リンクに置き換えて、pdf://Page_1 のような目的のページにジャンプするページング メカニズムを実装することができます。実装する必要があるのが最初のページに移動することだけである場合、ページング メカニズムは、Web ビューのスクロール ビューのコンテンツ オフセットを 0 に設定するのと同じくらい簡単です。

于 2014-08-24T07:15:12.407 に答える