Browse Source

Convert UIWebView -> WKWebview

pull/1/head
Jeongbae Kong 5 years ago
parent
commit
997589d18a
  1. 42
      GME Remit/Utilities/WebLinks/WebLinksViewController.swift

42
GME Remit/Utilities/WebLinks/WebLinksViewController.swift

@ -8,6 +8,7 @@
import Foundation import Foundation
import UIKit import UIKit
import Alamofire import Alamofire
import WebKit
class WebLinksViewController: UIViewController { class WebLinksViewController: UIViewController {
@ -15,15 +16,12 @@ class WebLinksViewController: UIViewController {
// MARK: Outlets // MARK: Outlets
// @IBOutlet weak var webView: UIWebView!
// @IBOutlet weak var activityIndicator: UIActivityIndicatorView!
var navTitle: String = "" var navTitle: String = ""
var url: String? var url: String?
var titleString: String = "" var titleString: String = ""
// MARK: VC's Life cycle // MARK: VC's Life cycle
var webView: UIWebView?
var webView: WKWebView?
var activityIndicator: UIActivityIndicatorView? var activityIndicator: UIActivityIndicatorView?
override func viewDidLoad() { override func viewDidLoad() {
@ -36,8 +34,8 @@ class WebLinksViewController: UIViewController {
) )
self.navigationItem.rightBarButtonItem = barButton 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 = UIActivityIndicatorView(style: UIActivityIndicatorView.Style.gray)
activityIndicator?.center = self.view.center activityIndicator?.center = self.view.center
self.view.addSubview(webView!) self.view.addSubview(webView!)
@ -45,7 +43,8 @@ class WebLinksViewController: UIViewController {
} }
private func setupWebView() { private func setupWebView() {
self.webView?.delegate = self
self.webView?.uiDelegate = self
webView?.navigationDelegate = self
} }
// MARK: IBActions // MARK: IBActions
@ -64,7 +63,7 @@ class WebLinksViewController: UIViewController {
if let url = URL.init(string: self.url ?? "") { if let url = URL.init(string: self.url ?? "") {
let request = URLRequest(url: url) let request = URLRequest(url: url)
webView?.loadRequest(request)
webView?.load(request)
} }
} else { } else {
self.alert(type: .error, message: "no_internet_connection_error".localized(), title: "") 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() self.activityIndicator?.startAnimating()
} }
func webViewDidFinishLoad(_ webView: UIWebView) {
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
self.activityIndicator?.stopAnimating() self.activityIndicator?.stopAnimating()
} }
func webView(_ webView: UIWebView, didFailLoadWithError error: Error) {
func webView(_ webView: WKWebView, didFail navigation: WKNavigation!, withError error: Error) {
self.activityIndicator?.stopAnimating() self.activityIndicator?.stopAnimating()
self.alert(type: .error, message: error.localizedDescription) 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)
// }
//}
Loading…
Cancel
Save