You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

91 lines
2.5 KiB

//
// WebLinksViewController.swift
//
//
// Created by shishir sapkota
//
import Foundation
import UIKit
import Alamofire
class WebLinksViewController: UIViewController {
// MARK: Properties
// 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 activityIndicator: UIActivityIndicatorView?
override func viewDidLoad() {
UIApplication.shared.statusBarStyle = .lightContent
super.viewDidLoad()
let barButton = UIBarButtonItem.init(title: "penny_test_close_text".localized(), style: UIBarButtonItemStyle.plain, target: self, action: #selector(self.cancel))
self.navigationItem.rightBarButtonItem = barButton
webView = UIWebView(frame: self.view.frame)
webView?.delegate = self
activityIndicator = UIActivityIndicatorView(activityIndicatorStyle: UIActivityIndicatorViewStyle.gray)
activityIndicator?.center = self.view.center
self.view.addSubview(webView!)
self.view.addSubview(activityIndicator!)
}
private func setupWebView() {
self.webView?.delegate = self
}
// MARK: IBActions
override func viewWillAppear(_ animated: Bool) {
self.navigationItem.title = titleString
self.openURLInWebView()
}
@objc func cancel() {
self.dismiss(animated: true, completion: nil)
}
func openURLInWebView() {
if NetworkReachabilityManager()?.isReachable == true {
if let url = URL.init(string: self.url ?? "") {
let request = URLRequest(url: url)
webView?.loadRequest(request)
}
}else {
self.alert(message: "no_internet_connection_error".localized(), title: "")
}
}
}
// 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(message: error.localizedDescription)
}
}