2

webViewDidStartLoad and webViewDidFinishLoad are not working.

What I have already done:

  1. webView.delegate = self;
  2. added UIWebViewDelegate
  3. placed the code in viewDidAppear.

Here is the code:

func webViewDidStartLoad(webView: UIWebView!) {
            print("Webview started Loading")
        }

        func webViewDidFinishLoad(webView: UIWebView!) {
            print("Webview did finish load")
        }
Tamás Sengel
  • 55,884
  • 29
  • 169
  • 223
system21
  • 361
  • 4
  • 16

2 Answers2

5

Check this simple example code which is working fine:

import UIKit

class ViewController: UIViewController, UIWebViewDelegate {

    @IBOutlet weak var webView: UIWebView!

    override func viewDidLoad() {
        super.viewDidLoad()

        let url = "http://apple.com"

        let requestURL = NSURL(string:url)
        let request = NSURLRequest(URL: requestURL!)
        webView.delegate = self
        webView.loadRequest(request)
    }

    func webViewDidStartLoad(webView: UIWebView) {
        print("Webview started Loading")
    }

    func webViewDidFinishLoad(webView: UIWebView) {
        print("Webview did finish load")
    }
}
Dharmesh Kheni
  • 71,228
  • 33
  • 160
  • 165
2

Update for Swift 3

        let url = "http://apple.com"

    let requestURL = URL(string:url)
    let request = URLRequest(url: requestURL!)
    webView.delegate = self
    webView.loadRequest(request)
}

func webViewDidStartLoad(_ webView: UIWebView) {
    print("Webview started Loading")
}

func webViewDidFinishLoad(_ webView: UIWebView) {
    print("Webview did finish load")
}

}

Victor Lobe
  • 355
  • 3
  • 12