From 997589d18aa86374cab264fafd08cd1ca8e101f9 Mon Sep 17 00:00:00 2001 From: Jeongbae Kong Date: Thu, 12 Mar 2020 10:50:58 +0900 Subject: [PATCH] Convert UIWebView -> WKWebview --- .../WebLinks/WebLinksViewController.swift | 42 ++++++++++++------- 1 file changed, 28 insertions(+), 14 deletions(-) diff --git a/GME Remit/Utilities/WebLinks/WebLinksViewController.swift b/GME Remit/Utilities/WebLinks/WebLinksViewController.swift index 1e8f21d8..42d373ef 100644 --- a/GME Remit/Utilities/WebLinks/WebLinksViewController.swift +++ b/GME Remit/Utilities/WebLinks/WebLinksViewController.swift @@ -8,6 +8,7 @@ import Foundation import UIKit import Alamofire +import WebKit class WebLinksViewController: UIViewController { @@ -15,15 +16,12 @@ class WebLinksViewController: UIViewController { // MARK: Outlets - // @IBOutlet weak var webView: UIWebView! - // @IBOutlet weak var activityIndicator: UIActivityIndicatorView! - var navTitle: String = "" var url: String? var titleString: String = "" // MARK: VC's Life cycle - var webView: UIWebView? + var webView: WKWebView? var activityIndicator: UIActivityIndicatorView? override func viewDidLoad() { @@ -36,8 +34,8 @@ class WebLinksViewController: UIViewController { ) self.navigationItem.rightBarButtonItem = barButton - webView = UIWebView(frame: self.view.frame) - webView?.delegate = self + webView = WKWebView(frame: self.view.frame) + setupWebView() activityIndicator = UIActivityIndicatorView(style: UIActivityIndicatorView.Style.gray) activityIndicator?.center = self.view.center self.view.addSubview(webView!) @@ -45,7 +43,8 @@ class WebLinksViewController: UIViewController { } private func setupWebView() { - self.webView?.delegate = self + self.webView?.uiDelegate = self + webView?.navigationDelegate = self } // MARK: IBActions @@ -64,7 +63,7 @@ class WebLinksViewController: UIViewController { if let url = URL.init(string: self.url ?? "") { let request = URLRequest(url: url) - webView?.loadRequest(request) + webView?.load(request) } } else { self.alert(type: .error, message: "no_internet_connection_error".localized(), title: "") @@ -72,18 +71,33 @@ class WebLinksViewController: UIViewController { } } -// MARK: UIWebViewDelegate -extension WebLinksViewController: UIWebViewDelegate { - func webViewDidStartLoad(_ webView: UIWebView) { +// MARK: WKNavigationDelegate + +extension WebLinksViewController: WKUIDelegate, WKNavigationDelegate { + func webView(_ webView: WKWebView, didStartProvisionalNavigation navigation: WKNavigation!) { self.activityIndicator?.startAnimating() } - func webViewDidFinishLoad(_ webView: UIWebView) { + func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) { self.activityIndicator?.stopAnimating() } - - func webView(_ webView: UIWebView, didFailLoadWithError error: Error) { + func webView(_ webView: WKWebView, didFail navigation: WKNavigation!, withError error: Error) { self.activityIndicator?.stopAnimating() self.alert(type: .error, message: error.localizedDescription) } } +// MARK: UIWebViewDelegate +//extension WebLinksViewController: UIWebViewDelegate { +// func webViewDidStartLoad(_ webView: UIWebView) { +// self.activityIndicator?.startAnimating() +// } +// +// func webViewDidFinishLoad(_ webView: UIWebView) { +// self.activityIndicator?.stopAnimating() +// } +// +// func webView(_ webView: UIWebView, didFailLoadWithError error: Error) { +// self.activityIndicator?.stopAnimating() +// self.alert(type: .error, message: error.localizedDescription) +// } +//}