带字体手提箱的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应用程序中仍然无法使用这些字体。以下是我的所作所为:
- 我发现我需要转换字体,所以我安装了Fondu http://fondu.sourceforge.net/安装结果说没有成功,但后来我仍然可以使用。
- 然后我意识到我需要Rosetta来运行Fondu,所以我查看了本页的说明。得到我的Snow Leopard CD并安装可选包http://www.macobserver.com/tmo/article/snow_leopard_installing_rosetta/
- 打开终端并转到您的字体所在的目录。输入命令:fondu [font file]然后你会得到一个提示,询问你是否要保存[font file] .pfb选择yes。
- 现在在您的XCode中,将pfb文件添加到项目中。然后转到info.plist并将文件添加到UIAppFonts(包括.pfb扩展名)。
- 我在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自定义字体的主要内容,如果未能解决你的问题,请参考以下文章