带字体手提箱的iPhone自定义字体

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了带字体手提箱的iPhone自定义字体相关的知识,希望对你有一定的参考价值。

我试图在ios 4应用程序中使用字体手提箱作为自定义字体但是没有任何成功。

我已经阅读了其他有关如何使用自定义字体的文章,因此将行李箱复制到我的项目中,将其添加到资源和应用程序数组提供的Info.plist'字体,并尝试在Interface Builder和在代码中。但它不起作用!

我发现的关于自定义字体的所有示例都显示使用ttf或otf文件,但没有任何手提箱。可以吗?如果没有,我如何从Font Book中获取可以用作自定义字体的文件结构?

答案

我有同样的问题,只是解决了它。朋友给了我一些压缩的字体,我解压缩然后文件大小为零kb我无法将它们安装到Font Book中。所以我用Google搜索并发现我的朋友应该使用StuffIt Expander来压缩。所以他又把文件发给我了,我用StuffIt Expander解压缩。然后我就可以将字体安装到我的Font Book中。

但是,我的iOS应用程序中仍然无法使用这些字体。以下是我的所作所为:

  1. 我发现我需要转换字体,所以我安装了Fondu http://fondu.sourceforge.net/安装结果说没有成功,但后来我仍然可以使用。
  2. 然后我意识到我需要Rosetta来运行Fondu,所以我查看了本页的说明。得到我的Snow Leopard CD并安装可选包http://www.macobserver.com/tmo/article/snow_leopard_installing_rosetta/
  3. 打开终端并转到您的字体所在的目录。输入命令:fondu [font file]然后你会得到一个提示,询问你是否要保存[font file] .pfb选择yes。
  4. 现在在您的XCode中,将pfb文件添加到项目中。然后转到info.plist并将文件添加到UIAppFonts(包括.pfb扩展名)。
  5. 我在UITableViewCell中测试了字体

cell.textLabel.font = [UIFont fontWithName:@“[font file]”size:30]; //不包含.pfb扩展名

字体显示正常。我最初认为iOS将需要.ttf文件,但看起来像.pfb也没关系。

希望这可以帮助。

其他测试提示:如上所示添加UIAppFonts plist数组后,在appDidFinishLaunchingWithOptions方法和控制台类型中添加断点

po [UIFont familyNames]

这将为您提供已安装字体的列表,以便搜索您的字体系列名称。复制并粘贴到此:

po [UIFont fontNamesForFamilyName:@"familyname"]

这将获取您在代码中引用的字体名称。我没有尝试[font filename]方法,但这会为您提供应用程序用来引用您想要的确切字体的名称。当字体包含一系列变体或您从同一系列安装了多个变体时,这一点很重要。例如,helvetica有四种变体,因此您可以通过这种方式选择正确的变体:

lblMyLabel.font = [UIFont fontWithName:@"fontname" size:lblMyLabel.font.pointSize]

EG

lblMyLabel.font = [UIFont fontWithName:@"Helvetica-Oblique" size:lblMyLabel.font.pointSize]

这样可以保留最初用于标签的字体磅值。加载视图后,我也只取得了成功。

另一答案

这个解决方案不需要Fondu或Rosetta,但它确实需要在macOS的终端应用程序中进行一些剪切和粘贴。

非常简单,而且免费。

https://sittingduck.co.nz/2013/11/unpacking-the-suitcase/

另一答案

首先包括SystemConfiguration框架到您的项目。并根据您的要求添加ttf或otf文件。然后导入dlfcn.h文件以委托实现文件。然后你必须在图像附加后调用该函数。

然后,您可以在控制器中访问任何您想要使用自定义字体的位置。你需要在fontwithName:UIFont方法中传递字体。

以上是关于带字体手提箱的iPhone自定义字体的主要内容,如果未能解决你的问题,请参考以下文章

iPhone中的自定义字体

WPF 自定义控件并使用(例如带水印和字体图标的文本框)

我们如何在 iOS 应用中使用自定义字体? [复制]

我可以在iPhone应用程序中嵌入自定义字体吗?

iPhone系统字体

错误呈现自定义字体的 UILabel