字体适用于模拟器,但不适用于iOS设备



有一些问题已经与这个问题有关,但我的情况不同。在我的情况下,字体是从zip文件下载并保存在这里的:

let path = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first

这是HTML字符串:

<html>
<head>
<style type=text/css>
@font-face { font-family: 'Rubik-Regular'; src: url('Rubik-Regular.ttf'); }
@font-face { font-family: 'Rubik-Semibold'; src: url('Rubik-Medium.ttf'); }
b { font-size:20px; color:#373534; letter-spacing: 1.27px; line-height: 30px; font-family: 'Rubik-Semibold'; background:transparent;)
}
p { text-align:left; font-size:20px; color:#373534; letter-spacing: 1.27px; line-height: 30px; font-family: 'Rubik-Regular'; background:transparent;  }
</style>
</head>
<body>
<header>
<meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0'>
<p>This is the text for the HTML and we <b>BOLD</b> this part</p>
</header>
</body>
</html>

然后我在我的webView:上调用loadHTMLString

let url = URL(fileURLWithPath: path!)
wkWebView.loadHTMLString(htmlString, baseURL: url)

不确定为什么它能在模拟器和安卓设备上完美加载,但HTML字符串在实际设备上会出现问题。为什么实际设备不能从本地存储加载字体?

我在原始实现中遗漏了loadFileURL(_URL,_URL(方法。这个方法应该在调用loadHTMLString之前,对我来说有效的是在我的自定义视图类的wakedFromNib方法中调用loadFileURL((。

最新更新