xcode iOS
ローカル ファイルから PDF ファイルを表示できるようにオフライン ビルドする方法があるかどうかを知りたいです。
私が現在使用している方法は、UIWebView
PDF URL (オンライン) を含むカスタム HTML を表示することですが、可能であればオフライン バージョンも作成したいと考えています。
しかし、オンラインで調べたところ、PDF を表示する唯一の方法は UIWebView を使用する方法のようです。本当にそうであれば、PDF URL を使用するのではなく、ローカル リソースからファイルを取得する (たとえば、ファイルを xcode リソース フォルダーに追加する) ことは可能ですか。
話題外: どちらがより良い選択でしょうか? ローカル ファイルを取得するか、PDF ファイルのオンライン URL を使用するか?
接続が必要なのでUIWebView
、最新かつ更新されたオンライン URL を取得する方がよいと思われます。
フィードバックをいただければ幸いです。
UIDocumentInteractionController
編集:ちょっと質問ですが、この方法を使うか、QuickLookフレームワークオフラインにするには、新しい PDF 記事が追加されるたびに更新パッチをリリースする必要があります (間違っていたら訂正してください)
この点を考慮して、私は自分の質問に対する反論をその場で思いつきました (もし誰かが私に時間を無駄にしていると感じたらごめんなさい >.<、私は可能性や問題解決のために取ることができるさまざまなアプローチに疑問を抱くのが好きな人間です) 絶え間ない更新から時間を節約し、リアルタイム ベースのソリューションを提供するには、UIWebView を使用します (これがこの SO スレッドの目的と矛盾していることは承知しています)。このプロジェクトはオンライン Web サイトに基づいているため (コンテンツとソースはそこから取得します)、記事セクションの Web サイトを読み込む場合、NSString 変数を追加することで、NSRange 関数を viewDidLoad に UIWebView とともに追加して、URL がニュース セクションと PDF URL から出ないようにできると言うのは大胆でしょうか。たとえば、if 関数と NSRange 関数の組み合わせを使用して、URL にニュース セクションと PDF URL のみが含まれていることを反証します)
以前、電卓のポイント用の NSRange 関数を一度作成したことがあり、このフレームワーク アプリでそれを使用するのにちょうどよいタイミングだと思いました。
PS - このアプリは組織ベースのプロジェクトであり、私はインターンとして基本的なスケルトン フレームワークを提供しています。
ベストアンサー1
オプションはたくさんありますが、ここでは 3 つを紹介します。
1) ローカル PDF ファイルを読み込んで表示する最も簡単な方法は、次のような UIWebview を使用することです。
NSString *path = [[NSBundle mainBundle] pathForResource:@"document" ofType:@"pdf"];
NSURL *targetURL = [NSURL fileURLWithPath:path];
NSURLRequest *request = [NSURLRequest requestWithURL:targetURL];
[webView loadRequest:request];
2) UIDocumentInteractionController
/ を使用してQLPreviewController
PDF ファイルをネイティブに表示することもできます。
3) もう一つの方法は、ApplesのようなカスタムPDFビューアを構築することです。ZoomingPDFViewer のサンプルコード(UIPageViewController + CATiledLayer + UIScrollView を使用)