我导入了三种字体
检查一切正常,直到我添加第二个自定义字体等等。
如果我按此顺序设置我的info.plist(项目0 = KorUB.ttf),则只识别KorUB.ttf:
UIFont *fontOne = [UIFont fontWithName:@"KorUM" size:10.0f] // not works
UIFont *fontTwo = [UIFont fontWithName:@"KorUB" size:10.0f] // works
如果我更改订单(项目0 = KorUM.ttf),则仅识别KorUB.ttf:
UIFont *fontOne = [UIFont fontWithName:@"KorUM" size:10.0f] // works
UIFont *fontTwo = [UIFont fontWithName:@"KorUB" size:10.0f] // not works
这是什么?错误?有谁知道如何解决这个问题?
答案 0 :(得分:2)
它安装字体,不应该是这种情况,尝试使用下面的代码列出所有字体
-(void)listFonts{
for(NSString *familyName in [UIFont familyNames]){
NSLog(@"Family name: %@", familyName);
for(NSString *fontName in [UIFont fontNamesForFamilyName:familyName]){
NSLog(@" Font name: %@", fontName);
}
}
}
在您的情况下,根据您使用的字体
UIFont *fontOne = [UIFont fontWithName:@"KorUM" size:10.0f];
UIFont *fontTwo = [UIFont fontWithName:@"KorUB" size:10.0f];
可能无效,因为 fontWithName 不一定要与字体 ttf 文件名相同,它可以不同的是,看到字体列表并使用列表中列出的名称,它应该工作。
干杯。
答案 1 :(得分:0)
使用以下代码检查您的字体是否可以使用正确的名称。
for(NSString *fontfamilyname in [UIFont familyNames])
{
NSLog(@"Family:'%@'",fontfamilyname);
for(NSString *fontName in [UIFont fontNamesForFamilyName:fontfamilyname])
{
NSLog(@"\tfont:'%@'",fontName);
}
}
字体名称必须与文件名相同。
答案 2 :(得分:0)
有时字体名称可能不是您所期望的。它可能与您可以看到的任何可见字体名称非常不同。
添加此代码段以在控制台中记录应用程序可用的所有字体。
for (NSString* family in [UIFont familyNames])
{
NSLog(@"%@", family);
for (NSString* name in [UIFont fontNamesForFamilyName: family])
{
NSLog(@" %@", name);
}
}
答案 3 :(得分:0)
我遇到了同样的问题。我找到了解决方案。请试一试。 在你的故事板中设置标签的自定义字体或任何视图(你没有得到的字体)然后运行项目。之后,您还可以以编程方式设置字体。