Load HTML File Into UIWebView Programmatically

In this code snipped demonstrates how to:

  • Create UIWebView programmatically
  • Implement UIWebViewDelegate functions webViewDidStartLoad and webViewDidFinishLoad
  • Load HTML file into UIWebView programmatically

import UIKit

class ViewController: UIViewController, UIWebViewDelegate {
    override func viewDidLoad() {
        // Do any additional setup after loading the view, typically from a nib.
        let myWebView:UIWebView = UIWebView(frame: CGRect(x: 0, y: 0, width: UIScreen.main.bounds.width, height: UIScreen.main.bounds.height))
        myWebView.delegate = self
        //3. Load local html file into web view
        let myProjectBundle:Bundle = Bundle.main
        let filePath:String = myProjectBundle.path(forResource: "my-html-file", ofType: "html")!
        let myURL = URL(string: filePath);
        let myURLRequest:URLRequest = URLRequest(url: myURL!)
    override func didReceiveMemoryWarning() {
        // Dispose of any resources that can be recreated.
    func webViewDidStartLoad(_ webView: UIWebView)
        print("Started to load")
    func webViewDidFinishLoad(_ webView: UIWebView)
        print("Finished loading")


Watch this video tutorial to learn how to create UIWebView using Xcode and Main Storyboard.

UIWebView and UIWebViewDelegate example in Swift

Learn iOS Development with these Video Courses

How to Make a Freaking iPhone App - iOS 10 and Swift 3
icon icon

iOS 10 & Swift 3: From Beginner to Paid Professional

The Complete iOS 10 Developer Course - Build 21 Apps

Swift 3 - Learn to Code with Apple's New Language
icon icon

Learn How to Build Mobile Apps for iOS with Swift, PHP and MySQL
icon icon

Follow me on one of your favourite social networks to learn about new video tutorials and code examples:

Twitter: @SwiftVideoBlog
Google Plus: https://plus.google.com/+SergeyKargopolov/posts
Facebook: Swift Developer Blog on Facebook