iOS自定义字体显示在模拟器上,但不会在设备上显示

时间:2013-04-04 18:21:24

标签: ios xcode xcode4

我在iOS应用程序中使用自定义字体

//Label which will display the current message
currentMessageLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 75, 300, 30)];
[currentMessageLabel setBackgroundColor:[UIColor clearColor]];
currentMessageLabel.font = [UIFont fontWithName:@"Baroque Script" size:24];
currentMessageLabel.textColor = [UIColor redColor];
currentMessageLabel.textAlignment = UITextAlignmentCenter;
[self.view addSubivew:currentMessageLabel];

我已将字体名称添加到Info.plist文件中,手动将文件复制到捆绑资源。它可以在模拟器上运行,但是当我在iPhone 5上运行应用程序时,它根本不显示。我该如何解决这个问题?

3 个答案:

答案 0 :(得分:0)

尝试从

更改名称
@"Baroque Script"

@"BaroqueScript"

(没有空格)。

我有类似的问题,并通过这样做解决了。 可能或可能不适合你。试一试。

答案 1 :(得分:0)

这可能是因为您的字体未复制到您的项目中(但已引用)。因此,当您通过设备运行时,它无法找到计算机上某处的字体。

执行以下步骤 1)从项目中删除您的字体。 2)拖放到项目中并检查复制项目并添加到目标。

如果您无法理解上述过程。查看http://www.codigator.com/tutorials/using-custom-fonts-in-ios-application/并查看添加字体到项目部分。

答案 2 :(得分:0)

男人,这将打印所有字体名称,你只需要复制确切的字体名称

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]);
    }
}