一般来讲,苹果系统提供的控件的字体基本都是跟随系统,但是WKWebView却不是,可能是网页的兼容性有自己的考虑。现在我的App里只有WKWebView的字体不跟着系统走,视觉上很别扭,严格的UI设计师也不会通过。
笔者翻遍百度和stackoverflow也没找到WKWebView的默认字体是什么?如何修改成跟随系统倒是在stackoverflow找到?最后在国外大神的一遍文章里找到了答案,和大家一起分享。
By default, if you don’t specify a font family in CSS, iOS will use the default font, which is “Times New Roman”.
打开Word对比了一下:WKWebView的默认字体是Times New Roman没错。
那么如何修改成跟随系统呢?只需要一行代码:
[webView stringByEvaluatingJavaScriptFromString: @"document.body.style.fontFamily = \"-apple-system\""];
设置body样式的fontFamily为-apple-system,就会使用系统字体了,万一哪天苹果的系统字体变化了,整个App的字体都会跟着变,很协调,完美。