【Swift】WKWebViewの基本的な使い方

【Swift】WKWebViewの基本的な使い方

iOSにて、Webページを表示する必要があったので、WKWebView の基本的な使い方を備忘録。
 

WKWebView の使い方

WKWebView の基本的な使い方です。
下記が公式のサンプルコードです。

WKWebView を利用する際は UIKitWebKit を import します。
WKWebView の initialize は CGRectWKWebViewConfiguration を引数にとります。
該当するURLページを開くには、WKWebView の load関数 を実行します。

 

1 WebKit の import

WebView関連のコードを扱うにはWebKitimportする必要があります。
冒頭にimport WebKitを記載すると、XcodeにてWebView関連の補完が効くようになるかと思います。

2 WKWebViewConfiguration の生成

WKWebViewConfigurationWKWebViewの初期化時に参照される設定プロパティが含まれるクラスです。
WKWebViewConfigurationを使用すると、Webページがレンダリングされるまでの時間、メディア再生の処理方法、ユーザーが選択できるアイテムの細分性、およびその他の多くのオプションを決定できます。

WKWebViewConfigurationは、WKWebViewが最初に初期化されたときにのみ使用されます。このクラスを使用して、WKWebViewの作成後にその設定を変更することはできません

3 WKWebView を initialize

WKWebViewの初期化にはframe引数WebViewのサイズconfiguration引数に生成したWKWebViewConfigurationのインスタンスを引き渡します。

4 WKUIDelegate の移譲先として self を登録

WKWebViewuiDelegateプロパティにselfをセットする事で、インターフェースに関わるWebViewの関数をクラス内で扱う事ができるようになります。

5 WKNavigationDelegate の移譲先として self を登録

WKWebViewnavigationDelegateプロパティにselfをセットする事で、振る舞いに関わるWebViewの関数をクラス内で扱う事ができるようになります。

6 view に webView を割り当て

生成したWKWebViewのインスタンスをControllerのviewに割り当てます。

7 URLオブジェクトを生成

表示したいURLのStringをURLクラスのstring引数に指定し、インスタンスを生成します。

8 URLRequestオブジェクトを生成

生成したURLクラスのインスタンスをURLRequestクラスのurl引数に指定し、インスタンス生成します。

9 URLを WebView にロード

WKWebViewload関数にURLRequestインスタンスを引き渡し、実行します。
この関数を叩くことで、webViewのリクエストが走ります。

10 WKWebView ui delegate

WKWebView ui delegate の部分には、WKWebViewインターフェースに関わるdelegate関数を記述します。
詳細は公式ドキュメント参照。
 

11 WKWebView WKNavigation delegate

WKWebView WKNavigation delegate の部分には、WebView振る舞いに関わるdelegate関数を記述します。
詳細は公式ドキュメント参照。
 

実行環境

Mac: 10.13.6
XCode: 10.1
Swift: 4.2.1
 

参考ドキュメント

公式 WKWebView ドキュメント
公式 WKWebView ui delegate ドキュメント
公式 WKWebView WKNavigation delegate ドキュメント