首页 > 解决方案 > 在 WKWebView 中使用自定义字体而不将 baseURL 设置为 bundleURL

问题描述

我正在尝试使用本地自定义字体而不将 WKWebView baseURL 设置为 bundleURL。有没有办法使用包中文件的绝对 URL 之类的东西?

我试过这个(获取文件的 URL,在字符串中使用它并将本地 CSS 附加到该字符串):

let fontURL = Bundle.main.url(forResource: "MaterialIcons-Regular", withExtension: "ttf")!

let fontFace = """
@font-face {
    font-family: 'Material Icons';
    src: url(\(fontURL.absoluteString)) format('truetype');
}
"""

(以及其他获取文件 URL 的方法)它没有用。

如果我https://raw.githubusercontent.com/google/material-design-icons/master/iconfont/MaterialIcons-Regular.ttf在代码中使用类似 URL 而不是 fontURL.absoluteString ,它就可以工作。

标签: iosswiftwkwebview

解决方案


您应该能够在 info plist 文件中使用您的应用程序安装的字体(使用“应用程序提供的字体”部分)。然后你可以font-family: 'FrutigerLTPro-Roman'在 CSS中使用以下方式


推荐阅读