iOS
 Computer >> コンピューター >  >> プログラミング >> iOS

【Swift入門】UIWebViewにPDFファイルを読み込んで表示する方法

はじめに

この記事では、Swiftを使ってiOSアプリのUIWebViewにPDFファイルを読み込んで表示する方法を解説します。WebViewでのPDF表示はとてもシンプルで、いくつかの手順を踏むだけで実装できます。初心者の方でも迷わず進められるよう、順番に見ていきましょう。

補足:UIWebViewはiOS 12以降で非推奨(Deprecated)となっており、現在はWKWebViewの使用が推奨されています。ただし、既存のレガシープロジェクトの保守や学習目的ではUIWebViewのコードも参考になるため、本記事ではそのまま紹介します。

ステップ1:Xcodeで新規プロジェクトを作成する

Xcodeを起動し、「New Project」→「Single View Application」を選択して新しいプロジェクトを作成します。プロジェクト名は「PDFInWebView」としましょう。

ステップ2:Main.storyboardにUIWebViewを配置する

Main.storyboardを開き、以下の画像のようにオブジェクトライブラリからUIWebViewをドラッグ&ドロップで画面に追加します。

【Swift入門】UIWebViewにPDFファイルを読み込んで表示する方法

ステップ3:@IBOutletを作成する

配置したUIWebViewをViewController.swiftに接続し、@IBOutletを作成します。名前は「webview」としてください。

ステップ4:サンプルPDFをプロジェクトに追加する

読み込み対象となるサンプルPDFをプロジェクトに追加します。ここでは「sample.pdf」という名前のPDFファイルを追加しました。追加する際は、対象ターゲットにチェックが入っていることを確認してください。

【Swift入門】UIWebViewにPDFファイルを読み込んで表示する方法

ステップ5:viewDidLoadメソッドにコードを記述する

ViewControllerのviewDidLoadメソッドに、以下のコードを追加します。

if let pdf = Bundle.main.url(forResource: "sample", withExtension: "pdf", subdirectory: nil, localization: nil) {
    let reqest = NSURLRequest(url: pdf)
    webView.loadRequest(reqest as URLRequest)
}

上記のコードでは、まずBundle.main.url(forResource:withExtension:)を使って、アプリバンドル内の「sample.pdf」ファイルのURLを取得しています。続いて、取得したURLからNSURLRequestを生成し、webViewのloadRequestメソッドに渡すことで、WebView上にPDFを読み込んでいます。

ステップ6:プロジェクトを実行する

プロジェクトをビルドして実行しましょう。シミュレーター上でWebViewにPDFが正しく表示されれば成功です。

【Swift入門】UIWebViewにPDFファイルを読み込んで表示する方法

まとめ

以上のように、UIWebViewを使えばわずか数行のコードで、ローカルに保存したPDFファイルを簡単に表示できます。新しい開発ではWKWebViewへの移行を検討しつつ、この基本の仕組みを押さえておくと、さまざまな場面で役立つはずです。

  1. 最も人気のあるアプリを使用してモバイルでグループビデオ通話を行う方法

    COVID-19の大流行により、ビデオ通話に何時間も費やすことが当たり前になっています。友だちグループ、家族、職場の同僚と連絡を取り合う場合でも、モバイルビデオチャットアプリは特に便利です。ほとんどのアプリがグループビデオ通話機能を備えているからです。この記事では、モバイル向けの最も人気のあるビデオチャットアプリのいくつかを使用してグループビデオ通話を発信する方法を説明します。 携帯電話のWhatsAppでグループビデオ通話を行う方法 WhatsAppでは、最大8人でビデオグループ通話を開始するのは非常に簡単です。 AndroidでWhatsAppグループビデオハングアウトを設定する An

  2. SwiftでRealmデータベースをiOSアプリに導入する方法|CRUD操作を学べるToDoアプリ開発ガイド

    こんにちは!この記事では、RealmデータベースをiOSアプリに追加する方法を解説します。シンプルなToDoアプリを作りながら、RealmデータベースにおけるCRUD(Create=作成、Read=読み取り、Update=更新、Delete=削除)操作の実装方法を学んでいきましょう。Realmとは?Realmは、開発者にとって扱いやすく使い勝手の良いオープンソースのモバイル向けデータベースです。iOSアプリではCore Dataの代替として利用することもできます。Realmはクロスプラットフォーム対応のモバイルデータベースです。そのため、ネイティブのAndroid・iOSアプリはもちろん、Re