info.plist (xcode iOS) 中的第 0 项只能识别一种自定义字体
Only one custom font being recognized at item 0 in info.plist (xcode iOS)
我导入了三种字体
检查一切正常,直到我添加第二个自定义字体等等。
如果我按此顺序设置 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
这是什么?漏洞?有谁知道如何解决这个问题?
使用以下代码检查您的字体是否具有正确的名称。
for(NSString *fontfamilyname in [UIFont familyNames])
{
NSLog(@"Family:'%@'",fontfamilyname);
for(NSString *fontName in [UIFont fontNamesForFamilyName:fontfamilyname])
{
NSLog(@"\tfont:'%@'",fontName);
}
}
字体名称必须与文件名相同。
有时字体名称可能不是您所期望的。它可能与您看到的任何可见字体名称都大不相同。
添加这段代码以在控制台中记录您的应用可用的所有字体。
for (NSString* family in [UIFont familyNames])
{
NSLog(@"%@", family);
for (NSString* name in [UIFont fontNamesForFamilyName: family])
{
NSLog(@" %@", name);
}
}
安装字体,应该不是这样,尝试使用下面的代码列出所有字体
-(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 文件名,可以不同,查看字体列表并使用列表中列出的名称,应该可以。
干杯。
我遇到了同样的问题。我找到了解决办法。请尝试一下。
在你的故事板中设置标签的自定义字体或任何视图(你没有得到哪种字体)然后 运行 项目。之后,您也可以通过编程方式设置字体。
我导入了三种字体
检查一切正常,直到我添加第二个自定义字体等等。
如果我按此顺序设置 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
这是什么?漏洞?有谁知道如何解决这个问题?
使用以下代码检查您的字体是否具有正确的名称。
for(NSString *fontfamilyname in [UIFont familyNames])
{
NSLog(@"Family:'%@'",fontfamilyname);
for(NSString *fontName in [UIFont fontNamesForFamilyName:fontfamilyname])
{
NSLog(@"\tfont:'%@'",fontName);
}
}
字体名称必须与文件名相同。
有时字体名称可能不是您所期望的。它可能与您看到的任何可见字体名称都大不相同。
添加这段代码以在控制台中记录您的应用可用的所有字体。
for (NSString* family in [UIFont familyNames])
{
NSLog(@"%@", family);
for (NSString* name in [UIFont fontNamesForFamilyName: family])
{
NSLog(@" %@", name);
}
}
安装字体,应该不是这样,尝试使用下面的代码列出所有字体
-(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 文件名,可以不同,查看字体列表并使用列表中列出的名称,应该可以。
干杯。
我遇到了同样的问题。我找到了解决办法。请尝试一下。 在你的故事板中设置标签的自定义字体或任何视图(你没有得到哪种字体)然后 运行 项目。之后,您也可以通过编程方式设置字体。