【发布时间】:2020-10-25 05:01:26
【问题描述】:
我正在使用最新版本的Xcode 和Swift。
我有以下代码来加载 HTML 字符串并使用自定义字体,我之前在 Xcode 中导入:
let html = """
<html>
<body>
<head>
<style>
@font-face
{
font-family: 'Blastimo';
src: local('Blastimo'), url('Blastimo.ttf') format('truetype');
}
</style>
</head>
<h1 style="font-family:'Blastimo';font-size:50px;">This is my test!</h1>
</body>
</html>
"""
webView.loadHTMLString(html, baseURL: Bundle.main.resourceURL)
以下代码允许我加载远程内容,例如从我的网络服务器:
if let url = URL(string: "https://www.example.com") {
let request = URLRequest(url: url)
webView.load(request)
}
但是,我想要达到的是:加载远程内容,如在第二个代码中,但将我本地存储的自定义字体传递给它,如在第一个代码中。
意思是:我知道如何使用本地存储的字体加载 HTML 字符串,并且我知道如何在没有本地存储的字体的情况下加载远程内容。但我不知道如何加载 remote 内容 本地存储的字体。
我试过了:
webView.load(request, baseURL: Bundle.main.resourceURL)
但这不起作用。它会引发错误。
我尝试了很多,但没有成功。我的最后一个想法是从远程内容中获取源代码,将其转换为字符串,为其添加font-face 样式并使用webView.loadHTMLString 加载它。这将允许我显示远程内容,同时仍然能够使用webView.loadHTMLString(html, baseURL: Bundle.main.resourceURL) 加载它以将本地存储的字体传递给它。
真的没有其他方法可以做到这一点吗?使用webView.load(request)时有没有办法使用我本地存储的字体?
【问题讨论】:
标签: ios swift xcode font-face wkwebview