対象: iOS 8以降で使えるWKWebViewでWebページを表示する(Swift)SwiftでWebページを表示する場合、ターゲットがiOS 8以降ならUIWebViewの代わりにWKWebViewが使える。WKWebViewを使うためには、WebKitをimportする必要がある。横スワイプで前のページに戻れるようにするには、allowsBackForwardNavigationGesturesをtrueにする。 import UIKit import WebKit class ViewController: UIViewController { let webView = WKWebView() override func loadView() { view = webView } override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. webView.allowsBackForwardNavigationGestures = true let url = URL(string: "http://www.office-matsunaga.biz/ios/list.php")! let request = URLRequest(url: url) webView.load(request) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } } また、WKWebViewでhttp通信の状況等を確認したいなら、まずViewControllerでWKNavigationDelegateを継承する。 class ViewController: UIViewController, WKNavigationDelegate { 次に、viewDidLoadメソッド内で自分自身をWKWebViewオブジェクトのnavigationDelegateプロパティにセットし、目的のデリゲートメソッドを書けば良い。例えば、ナビゲーションが完了したときに通知を受けたいならwebView(_:didFinish)デリゲートメソッドを書けば良い。 override func viewDidLoad() { // 省略 webView.navigationDelegate = self // 省略 } // didFinishNavigationデリゲートメソッド func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) { print("didFinishNavigation") } これを実行したのが以下だ。 iOS 9より、ATS(App Transport Security)が導入さていたり、あるいは3D Touchによるプレビューができるようになっていたりするので、興味のある方はこちらもご参照いただきたい。 (2015/10/08) () Swift 3.0対応。
Copyright© 2004-2019 モバイル開発系(K) All rights reserved.
[Home]
|