add overlay
This commit is contained in:
parent
9cb75817e5
commit
95d305254f
@ -17,6 +17,7 @@ import WebKit
|
||||
return model as? WebViewModel
|
||||
}
|
||||
var webView: WKWebView?
|
||||
var overLayer = MVMCoreUICommonViewsUtility.commonView()
|
||||
public let loadingSpinner = MFLoadingSpinner(frame: .zero)
|
||||
var delegateObject: MVMCoreUIDelegateObject?
|
||||
var webViewHeight: NSLayoutConstraint?
|
||||
@ -26,6 +27,7 @@ import WebKit
|
||||
override open func setupView() {
|
||||
super.setupView()
|
||||
createWebView(messageHandler: mvmWebViewMessageHandler)
|
||||
setupOverLayer()
|
||||
pinSpinnerView()
|
||||
|
||||
//init height for loading spinner
|
||||
@ -69,6 +71,7 @@ import WebKit
|
||||
} else {
|
||||
webView?.load(URLRequest(url: url))
|
||||
webViewHeight?.constant = 44
|
||||
overLayer.isHidden = false
|
||||
loadingSpinner.resumeSpinner()
|
||||
}
|
||||
} else if let htmlString = webviewModel?.htmlString {
|
||||
@ -77,6 +80,7 @@ import WebKit
|
||||
} else {
|
||||
webViewHeight?.constant = 44
|
||||
webView?.loadHTMLString(htmlString, baseURL: nil)
|
||||
overLayer.isHidden = false
|
||||
loadingSpinner.resumeSpinner()
|
||||
}
|
||||
}
|
||||
@ -88,8 +92,6 @@ import WebKit
|
||||
webView?.layer.borderWidth = 0.0
|
||||
webView?.layer.borderColor = UIColor.clear.cgColor
|
||||
}
|
||||
|
||||
bringSubviewToFront(loadingSpinner)
|
||||
}
|
||||
|
||||
func pinSpinnerView() {
|
||||
@ -104,6 +106,12 @@ import WebKit
|
||||
loadingSpinner.centerYAnchor.constraint(equalTo: centerYAnchor).isActive = true
|
||||
loadingSpinner.resumeSpinner()
|
||||
}
|
||||
|
||||
func setupOverLayer() {
|
||||
addSubview(overLayer)
|
||||
overLayer.backgroundColor = .white
|
||||
NSLayoutConstraint.constraintPinSubview(toSuperview: overLayer)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -111,6 +119,7 @@ import WebKit
|
||||
extension WebView : WKUIDelegate {
|
||||
public func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
|
||||
// hide loading
|
||||
overLayer.isHidden = true
|
||||
loadingSpinner.pause()
|
||||
|
||||
//update webview's heigth when webview is ready
|
||||
|
||||
Loading…
Reference in New Issue
Block a user