网页禁止缩放
有两种方法:
- 利用UIScrollViewDelegate方法
webView.scrollView.delegate = self
func viewForZooming(in scrollView: UIScrollView) -> UIView? {
return nil
}
这种方法,有时候是不起作用的,而且在有输入弹框的h5,弹框不会随着键盘上下移动。
- 往h5中,写入适配的js代码
func webView(_ webView: WKWebView, didCommit navigation: WKNavigation!) {
//禁止缩放
let javascript = "var meta = document.createElement('meta');meta.setAttribute('name', 'viewport');meta.setAttribute('content', 'width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no');document.getElementsByTagName('head')[0].appendChild(meta);"
webView.evaluateJavaScript(javascript, completionHandler: nil)
}
加载进度条
添加KVO,监听网页加载的速度,key为estimatedProgress
webView.addObserver(self, forKeyPath: "estimatedProgress", options: .new, context: nil)
override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
if keyPath == "estimatedProgress" {
progressView.progress = Float(webView.estimatedProgress)
}
}
移除KVO
deinit {
webView.removeObserver(self, forKeyPath: "estimatedProgress")
}
网页进度条.GIF
记录在demo中 网页进度条显示demo
网友评论