无法将自定义字体添加到应用程序

时间:2013-07-24 06:22:12

标签: iphone ios objective-c cocos2d-iphone

我在应用程序中使用自定义字体时遇到问题。

以下介绍了我采取的步骤

1 - 将 .TTF 字体添加到应用程序
2 - 修改 info.plist 文件 3 - 将关键“应用程序提供的字体”添加到新行中 4 - 并将每个 .TTF 文件(字体)添加到每一行。

所以我有一系列字体,每个字体都有 .ttf 扩展名。

然后我尝试添加字体

UILabel *lblName = [[UILabel alloc] initWithFrame:CGRectMake(25, 65, 230, 33)];
lblName.backgroundColor = [UIColor clearColor];
[lblName  setFont: [UIFont fontWithName:@"acmesab" size:32]]; // acmesab is my custom "font" name.
lblName.textAlignment = NSTextAlignmentLeft;
lblName.text = @"Name:";
[simapleView addSubview:lblName];

4 个答案:

答案 0 :(得分:0)

您应该查看font-properties实际的font-name是什么。 有时您导入名称为FjallaOne-Regular的字体。但是,如果查看属性,您会看到该字体的名称类似于Fjalla One

因此你需要像这样使用它。

[lblName  setFont: [UIFont fontWithName:@"Fjalla One" size:32]];

而不是

[lblName  setFont: [UIFont fontWithName:@"FjallaOne-Regular" size:32]];

同时检查您是否设置了正确的target membership

你可以在这里看到正确名称的含义

LINK

答案 1 :(得分:0)

首先,对于自定义字体,您必须在系统中安装.ttf文件。之后将其导入项目。重命名.ttf文件,如“FontBook”和 添加

 <key>UIAppFonts</key>
    <array>
    <string>Times New Roman.ttf</string>
</array>

在info.plist文件中。然后在项目中将其用作fontname

CCLabelTTF *label1 = [CCLabelTTF labelWithString:@"Name" fontName:@"Times New Roman" fontSize:26];

答案 2 :(得分:0)

打开您的项目 - &gt; Targeta - &gt;构建阶段 - &gt;复制捆绑资源。检查您的文件是否显示在列表中?如果没有,那么添加它们并再次运行应用程序。它应该工作。

使用以下代码检查是否添加了字体,并从列表中添加适当的字体名称。

NSArray *familyNames = [[NSArray alloc] initWithArray:[UIFont familyNames]];
NSArray *fontNames;
NSInteger indFamily, indFont;
for (indFamily=0; indFamily<[familyNames count]; ++indFamily)
{
    NSLog(@"Family name: %@", [familyNames objectAtIndex:indFamily]);
    fontNames = [[NSArray alloc] initWithArray:
                 [UIFont fontNamesForFamilyName:
                  [familyNames objectAtIndex:indFamily]]];
    for (indFont=0; indFont<[fontNames count]; ++indFont)
    {
        NSLog(@"    Font name: %@", [fontNames objectAtIndex:indFont]);
    }
    [fontNames release];
}
[familyNames release];

答案 3 :(得分:0)

由于某些字体似乎无法被识别,因此有时会很棘手。看看几个月前我可能对你有帮助的答案 - https://stackoverflow.com/a/10170599/331854