我正在开发一款游戏,希望在应用中使用自定义字体。我正在使用SpriteKit(如果这很重要的话)。我尝试使用此https://github.com/deni2s/IBCustomFonts,但无法使用此字体http://www.fontspace.com/freaky-fonts/emulogic
我尝试了各种方法,我已经在应用程序的info.plist上注册了字体......有人知道这是怎么回事吗?
我正在开发一款游戏,希望在应用中使用自定义字体。我正在使用SpriteKit(如果这很重要的话)。我尝试使用此https://github.com/deni2s/IBCustomFonts,但无法使用此字体http://www.fontspace.com/freaky-fonts/emulogic
我尝试了各种方法,我已经在应用程序的info.plist上注册了字体......有人知道这是怎么回事吗?
9条答案
按热度按时间klr1opcd1#
首先,我假设SpriteKit没有任何区别。
1.您需要将.otf或.ttf格式的字体复制到项目中。例如,在支持文件中。
1.您需要编辑**.plist文件。将“Fonts provided by application”键添加到您的plist中,并在Item 0中复制您复制到支持文件中的字体的确切文件名,扩展名为WITH。例如:“约瑟芬无标准光_0.otf”
1.请确保导入到应用的字体正在打包到应用本身中。为此,请依次选择目标**、构建阶段和复制捆绑包资源。如果在其中看不到字体,请从支持文件中拖动字体。
最后,你想在应用程序启动时列出所有字体,以查看字体的可用名称。你可以使用以下代码:
在打印结果中搜索您的字体,例如,我搜索“Josefin”,我会看到实际的字体名称是“JosefinSansStd-Light”。之后,您只需要通过以下方式使用该字体:
在iOS8中,您可以直接add your fonts到项目中,它们在界面构建器中可见。修改代码以说明这一点,但要以编程方式为iOS7设置字体,并在xCode 6界面构建器中选择它。PS。xCode 6中的界面构建器为您提供了正确的字体名称,您可以将其复制粘贴到下面的代码中。
koaltpgm2#
使用自定义字体没有问题,我做到了。请按照以下步骤操作:
1.在你的info.plist中注册字体,添加“应用程序提供的字体”条目。输入字体文件名,而不是字体名。比如font.ttf(我想你已经这么做了)
1.在项目导航器中转到您的项目,点击项目名称并转到“build phases”,然后向下看“Copy Bundle Resources”,转到底部,有很多文件并搜索“+”号。一个弹出窗口将打开,其中包含您的项目文件。搜索您的字体文件并将其添加到包中。
1.最后检查字体名称。当你在代码中使用它时,你必须使用字体名称,而不是文件名。要知道字体名称,双击Finder中的字体文件,一个显示该字体的窗口就会打开。检查窗口标题,那是你必须使用的字体的名称。
还有建议,把那个名字作为宏添加到你的..Prefix.pch文件中。如果你必须多次使用这个字体,在你的项目中使用它会更容易。
我认为您遇到的问题是,您正确注册了字体,但没有将其复制到应用程序包中。因此,当应用程序执行时,它找不到字体。这就是为什么第二步很重要。我花了很多时间试图在第一次时弄清楚:)
zkure5ic3#
为了迅速实现这一目标
如果你想在应用程序启动时列出所有的字体,只是为了查看字体的可用名称,你可以使用下面的代码:
9w11ddsr4#
我从来没有能够得到这些答案的工作已经尝试了多次。唯一的方法,我曾经得到了一个自定义字体在它遵循的指示,在接受的答案,然后创建一个隐藏的标签在故事板使用的字体。我可以使用字体编程。奇怪和hacky我知道,但它为我工作。
yzxexxkh5#
如果你使用的是Xcode 6,那么这就非常简单了,只要在你的项目中添加一个
font
文件夹,然后在文件夹中添加你的字体,你就可以开始了。n3h0vuf26#
如果上面的方法都不适合你,并且你碰巧只“编程”使用你的自定义字体(也就是说,你没有在任何xib中使用它),那么你将需要在一个xib中的任何地方至少使用一次。
(P.S. Stuart Clark -已经回答了这个问题,所以请不要记我的功劳。但是,我决定重新措辞,并将其作为一个单独的答案发布,因为我错过了他的答案,当我阅读它时,我并不清楚。当我在xib中测试自定义字体时,我偶然发现了这个解决方案,我看到它在其他程序中工作,但当我从xib中删除字体时,它停止了编程工作。)
vojdkbi07#
更新Swift 3。
kqhtkvqz8#
也许是一个快速修复-这为我做了它时,字体已经工作,但一个新的,例如标签没有显示所需的字体:
清理、深度清理和清空派生数据文件夹。
6tr1vspr9#