问题:用WKWebView加载 html 富文本
self.webView.loadHTMLString(msgStr, baseURL: nil)
如果对应的 html 富文本没有标注字体大小,只使用<p>、<span>、<h>等标签,此时在手机上面显示的字体会比在电脑网页上面的看起来小很多,影响阅读
解决方案
1、设置WKWebView代理
class MessageDetailsViewController: BaseViewController, WKNavigationDelegate
webView = WKWebView()
webView.frame = CGRect(x: 0, y: kTopHeight, width: SCREEN_WIDTH, height: SCREEN_HEIGHT - kTopHeight)
webView.navigationDelegate = self
self.view.addSubview(webView)
2、实现WKWebView代理,在WKWebView加载结束后,使用JavaScript代码来更改WebView中的字体大小
// WKNavigationDelegate 方法
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
printLog("Finished loading")
let script = "document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust= '\(200)%'"
webView.evaluateJavaScript(script, completionHandler: nil)
}
通过修改上面的百分比,就可以实现动态的修改html 富文本在手机上显示的字体大小了