Jos*_*ría 102 iphone fonts ios
我正在开发游戏,我想在我的应用程序中使用自定义字体.我正在使用SpriteKit,如果这很重要的话.我已经尝试过使用这个https://github.com/deni2s/IBCustomFonts但我无法使用这个字体http://www.fontspace.com/freaky-fonts/emulogic
我尝试了各种各样的东西,并且我在应用程序的info.plist上注册了字体...有谁知道发生了什么?
jov*_*vic 277
首先,我假设SpriteKit没有任何区别.
最后,您希望在应用程序启动时列出所有字体,只是为了查看字体的可用名称.你将用这一小段代码做到这一点:
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);
}
Run Code Online (Sandbox Code Playgroud)
在打印结果中搜索您的字体,例如,我会搜索"Josefin",我会看到实际的字体名称是"JosefinSansStd-Light".之后,您只需要使用该字体:
UIFont *customFont = [UIFont fontWithName:@"JosefinSansStd-Light" size:20];
Run Code Online (Sandbox Code Playgroud)
在iOS8中,您可以将字体直接添加到项目中,并且它们在界面构建器中可见.修改您的代码以解决此问题,但以编程方式设置iOS7的字体并在xCode6界面构建器中选择它.PS.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;
}
Run Code Online (Sandbox Code Playgroud)
希望这会有所帮助,欢呼.
zag*_*ago 24
使用自定义字体没问题,我做到了.跟着这些步骤:
和建议,在.Prefix.pch文件中将该名称添加为宏.如果必须多次使用该字体,在项目中使用它会更容易.
我认为您遇到的问题是您正确注册了字体,但未将其复制到应用程序包中.因此,当应用程序执行时,它找不到字体.这就是为什么第2步很重要.我花了很多时间试图在第一时间弄清楚:)
Toy*_*oye 20
要迅速实现这一目标
如果您想在应用程序启动时列出所有字体,只是为了查看字体的可用名称.你可以用这一小段代码做到这一点:
UIFont.familyNames.forEach {
print("fontFamily: \($0), fonts: \(UIFont.fontNames(forFamilyName: $0))")
}
Run Code Online (Sandbox Code Playgroud)
多次尝试过,我从来没有能够得到这些答案.唯一的方法是我有一个自定义字体,以遵循接受的答案中的说明然后在故事板中创建一个使用该字体的隐藏标签.我可以以编程方式使用该字体.我知道奇怪和hacky,但它对我有用.