gpt4 book ai didi

ios - 在 WKWebView 中使用自定义字体

转载 作者:IT王子 更新时间:2023-10-29 07:36:28 26 4
gpt4 key购买 nike

我在我的应用程序中使用自定义字体。它们被复制到 bundle 并硬编码到 appName-info.plist。这种字体在整个应用程序和 UIWebView 中都能完美运行。

我正在加载 htmlString[webView loadHTMLString:htmlString baseURL:nil];我在带有 css 的 webView 中使用这种字体:fontFamily: fontName

但是当我尝试使用 WkWebView 自定义字体时不起作用。 WkWebView 显示随机默认字体。

我尝试使用基本 url 中的主包路径加载它并在 css 中使用 font-face - WkWebView 仍然显示随机字体。

如何让自定义字体在 WKWebView 中工作?

最佳答案

我遇到了同样的问题,在我的情况下,我可以WITHOUT使用base64编码GCDWebServer来修复它。

场景:

  • WkWebView 加载是通过字符串 html
  • WkWebView 使用本地 .css
  • 字体是本地的,并在顶级元素中添加
  • 字体条目在 appName-info.plist 中的键 UIAppFonts/Fonts provided by application 下提供(注意:我们需要这个舞蹈是因为 WKWebView 忽略了这个键,但是声明它仍然是一个好主意,这样您就可以在 native 控件中使用字体)

解决方案:

在顶层的.css中添加字体,如下所示

@font-face
{
font-family: 'FontFamily';
src: local('FontFamily'),url('FontFileName.otf') format('opentype');
}

演示元素:

GitHub Project Link

注意:新的演示应用程序运行可能需要 2-3 秒,我已经针对长 html 字符串对其进行了测试,它与 UIWebView 的工作方式相同,没有延迟。相同的字体在 WKWebView 中可能看起来比 UIWebView 小一些。

关于ios - 在 WKWebView 中使用自定义字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25785179/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com