使用UIWebView,我可以使用自定义字体吗?

12

我看到网上有很多关于在iPhone OS中使用自定义字体困难的讨论。是否可以从我的捆绑包中加载一个字体到UIWebView组件中?

编辑:我在“Rusty Brick”的应用程序“Omer”中看到了它...它似乎是一个 Web 视图,因为我看到了一个延迟,在加载延迟期间自定义区域是白色的。这可能是哪个其他组件吗?

编辑2:我联系了 Rusty Brick。他们告诉我那是一个标准字体。

2个回答

18
在iOS3.2及以上的版本中,可以将自定义字体加载到UIWebView中。将字体添加到你的捆绑包(见此处),然后在UIWebView的样式表中引用该字体,就像引用其他字体一样:
<style type='text/css'>font { font-family: DroidSerif; } </style>

5
@Moshe 只是一个无辜的字体示例 ;) - Willster
5
这个答案只有一半是正确的。另一半在下面@tscheepers的答案中提到--你需要将字体名称添加到你的.plist文件中。并且最后一件事,如果你想使用字体的变体(比如DroidSerif Italic),那么你需要做两件事:首先,将DroidSerif Italic.ttf字体添加到bundle和.plist中,然后,在样式表中引用时,将font-family输入为"DroidSerif-Italic"(注意短划线而不是空格)。 - sgress454
@sgress454 即使 DroidSerif-Italic 不代表一个系列名称,它表示该系列内的一个字体名称,但它解决了问题,你真是个救星 ;) - user1453351
实际上,这个答案是不正确的。下面的答案是正确的。 - Fattie

8
可以实现,但需要确保在Info.plist中添加“应用提供的字体”键值对。
我是从这个教程中了解到的:http://tetontech.wordpress.com/2010/09/03/using-custom-fonts-in-your-ios-application/
我尝试过使用LWFM和FFIL字体套件,但没有成功。最终,我需要该字体的TTF文件。
在代码中引用字体时,请使用PostScript名称。要获取字体的正确名称,请打开Font Book应用程序,选择字体,然后单击左上角的以打开信息面板。

Fontbook screenshot


2
这个答案是半对的:请看我在@Willster发布的评论。 - sgress454
这个答案对我有效:iOS 6.0,iOS 5.1上测试过。未在iOS 4.x上测试。 - Lukasz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接