如何在WebView中更改字体大小

问题:用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 富文本在手机上显示的字体大小了

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容