我正在开发一款游戏,我想在我的应用中使用自定义字体。如果这很重要,我正在使用 SpriteKit。我试过使用这个 https://github.com/deni2s/IBCustomFonts但我无法使用这种字体 http://www.fontspace.com/freaky-fonts/emulogic
我已经尝试了各种方法,并且我已经在应用程序的 info.plist 上注册了字体...有人知道发生了什么吗?
最佳答案
首先,我假设 SpriteKit 没有任何区别。
- 您需要将 .otf 或 .ttf 格式的字体复制到您的项目中。例如在支持文件中。
- 您需要编辑.plist 文件。将 “应用程序提供的字体” 键添加到您的 plist 中,并在 Item 0 中复制您复制到带有扩展名的支持文件的字体的确切文件名。例如:“JosefinSansStd-Light_0.otf”
- 确保您导入到应用中的字体被打包到应用本身中。通过选择您的Target,然后选择Build Phases,然后选择Copy Bundle Resources来做到这一点。如果您在那里没有看到您的字体,请将其从支持文件中拖出。
最后,您希望在应用程序启动时列出所有字体,只是为了查看您的字体的可用名称。您将使用这一小段代码来做到这一点:
NSArray *fontFamilies = [UIFont familyNames];
for (int i = 0; i < [fontFamilies count]; i++)
{
NSString *fontFamily = [fontFamilies objectAtIndex:i];
NSArray *fontNames = [UIFont fontNamesForFamilyName:[fontFamilies objectAtIndex:i]];
NSLog (@"%@: %@", fontFamily, fontNames);
}
在打印结果中搜索您的字体,例如,我搜索“Josefin”,我会看到实际字体名称是“JosefinSansStd-Light”。之后,您只需通过以下方式使用该字体:
UIFont *customFont = [UIFont fontWithName:@"JosefinSansStd-Light" size:20];
在 iOS8 中你 add your fonts直接到项目,它们在界面构建器中可见。 修改您的代码以解决此问题,但以编程方式为 iOS7 设置字体并在 xCode6 界面构建器中选择它。附言。 xCode6 中的界面生成器为您提供了正确的字体名称,您可以将其复制粘贴到下面的代码中。
#define SYSTEM_VERSION_LESS_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedAscending)
if(SYSTEM_VERSION_LESS_THAN(@"8.0"))
{
UIFont *customFont = [UIFont fontWithName:@"OpenSans-Light" size:32];
self.registerLabel.font = customFont;
}
希望这有帮助,干杯。
关于ios - iOS 7 中的自定义字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21737788/