|
|||||
|
対象: 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]
|
|||||