//
// HelpVC.swift
// Sirani
//
// Created by Anhar Solehudin on 24/03/19.
// Copyright © 2019 Anhar Solehudin. All rights reserved.
//
import UIKit
import WebKit
class HelpVC: UIViewController {
@IBOutlet weak var dropdown1: UIImageView!
@IBOutlet weak var lineWv1: UIView!
@IBOutlet weak var wv1: WKWebView!
// View Lifecycles
override var preferredStatusBarStyle: UIStatusBarStyle {
return .lightContent
}
override func viewDidLoad() {
super.viewDidLoad()
let html1 = """
Direktorat Standardisasi Perangkat Pos dan Informatika
Direktorat Jenderal Sumber Daya dan Perangkat Pos dan Informatika
Kementerian Komunikasi dan Informatika - Republik Indonesia
Loket Pelayanan Terpadu SDPPI
Wisma Antara Lantai 1
Jl. Medan Merdeka Selatan No.17, Gambir, Jakarta Pusat, DKI Jakarta
Phone : 159
Email : kontak@kominfo.go.id
"""
wv1.navigationDelegate = self
wv1.loadHTMLString(html1, baseURL: nil)
}
@IBAction func onTitleOneTapped(_ sender: Any) {
if self.wv1.isHidden {
UIView.animate(withDuration: 0.25, delay: 0, options: .curveEaseOut, animations: {
self.lineWv1.isHidden = false
self.lineWv1.layoutIfNeeded()
self.wv1.isHidden = false
self.wv1.layoutIfNeeded()
self.dropdown1.rotates(-.pi)
})
} else {
UIView.animate(withDuration: 0, delay: 0, options: .curveEaseIn, animations: {
self.lineWv1.isHidden = true
self.lineWv1.layoutIfNeeded()
self.wv1.isHidden = true
self.wv1.layoutIfNeeded()
self.dropdown1.rotates(0.0)
})
}
}
}
extension UIView {
func rotates(_ toValue: CGFloat, duration: CFTimeInterval = 0.3) {
let animation = CABasicAnimation(keyPath: "transform.rotation")
animation.toValue = toValue
animation.duration = duration
animation.isRemovedOnCompletion = false
animation.fillMode = CAMediaTimingFillMode.forwards
self.layer.add(animation, forKey: nil)
}
}
extension HelpVC: WKNavigationDelegate {
func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
if navigationAction.navigationType == .linkActivated {
guard let url = navigationAction.request.url else {
decisionHandler(.allow)
return
}
let components = URLComponents(url: url, resolvingAgainstBaseURL: false)
if components?.scheme == "http" || components?.scheme == "https" || components?.scheme == "mailto"
{
if UIApplication.shared.canOpenURL(url) {
if #available(iOS 10.0, *) {
UIApplication.shared.open(url)
} else {
UIApplication.shared.openURL(url)
}
decisionHandler(.cancel)
} else {
decisionHandler(.allow)
}
} else {
decisionHandler(.allow)
}
} else {
decisionHandler(.allow)
}
}
}