対象:
Swift3

UIWebViewでWebページを表示する(Swift)

SwiftでWebページを表示する場合、基本となるUIWebViewがある。UIWebViewを使うには、Interface BuilderでWeb Viewを貼り付けても良いが、コードだけで生成することもできる。

import UIKit

class ViewController: UIViewController {
    var webView = UIWebView()
    
    override func loadView() {
        view = webView
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        webView.scalesPageToFit = true
        let url = URL(string: "http://www.office-matsunaga.biz/ios/list.php")!
        let request = URLRequest(url: url)
        webView.loadRequest(request)
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

}

また、UIWebViewでhttp通信の状況等を確認したいなら、まずViewControllerでUIWebViewDelegateを継承する。

class ViewController: UIViewController, UIWebViewDelegate {

次に、viewDidLoadメソッド内で自分自身をUIWebViewオブジェクトのdelegateプロパティにセットし、目的のデリゲートメソッドを書けば良い。例えば、ページのロードが完了したときに通知が必要ならwebViewDidFinishLoadデリゲートメソッドを書けば良い。

    override func viewDidLoad() {
        // 省略
        webView.delegate = self
        // 省略
    }

    // webViewDidFinishLoadデリゲートメソッド
    func webViewDidFinishLoad(_ webView: UIWebView) {
        print("webViewDidFinishLoad")
    }

これを実行したのが以下だ。


iOS 9より、ATS(App Transport Security)が導入さていたり、あるいは3D Touchによるプレビューができるようになっていたりするので、興味のある方はこちらもご参照いただきたい。

(2015/10/08)
() Swift 3.0対応。

新着情報
【オープンソースソフトウェア環境構築】Apple silicon Macで開発環境を構築
【Rust Tips】Actix webでJSONをPOSTする
【Rust Tips】コマンドライン引数を取得する

Copyright© 2004-2019 モバイル開発系(K) All rights reserved.
[Home]