// // WkWebViewController.swift // GME Remit // // Created by Mac on 12/25/18. // Copyright © 2018 Gobal Money Express Co. Ltd. All rights reserved. // import UIKit import WebKit class WkWebViewController: UIViewController { var webView: WKWebView! var url: String? var headers: [KftcHeader]? var activityIndicator: UIActivityIndicatorView? override func loadView() { let webConfiguration = WKWebViewConfiguration() webView = WKWebView() webView.uiDelegate = self webView.navigationDelegate = self self.view = webView } override func viewDidLoad() { super.viewDidLoad() addCloseButton() self.activityIndicator = UIActivityIndicatorView(activityIndicatorStyle: UIActivityIndicatorViewStyle.gray) self.webView.addSubview(activityIndicator!) self.webView.isUserInteractionEnabled = true self.activityIndicator?.startAnimating() self.activityIndicator?.isHidden = false self.activityIndicator?.hidesWhenStopped = true self.webView.bringSubview(toFront: activityIndicator!) let headers = self.headers ?? [] print(self.url) if let myURL = URL(string: self.url ?? "") { var myRequest = URLRequest(url: myURL) headers.forEach({ myRequest.setValue($0.key ?? "", forHTTPHeaderField: $0.value ?? "") }) print(myRequest.allHTTPHeaderFields) webView.load(myRequest) } } private func addCloseButton() { let button = UIBarButtonItem.init(title: "Close", style: UIBarButtonItemStyle.plain, target: self, action: #selector(self._dismiss)) self.navigationItem.rightBarButtonItem = button } @objc private func _dismiss() { self.dismiss(animated: true, completion: nil) } } extension WkWebViewController: WKUIDelegate, WKNavigationDelegate { func webView(_ webView: WKWebView, didStartProvisionalNavigation navigation: WKNavigation!) { print("start") activityIndicator?.center = self.view.center // activityIndicator?.isHidden = false activityIndicator?.startAnimating() } func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) { // activityIndicator?.isHidden = true activityIndicator?.stopAnimating() } }