无法在iOS应用中使用自定义字体

时间:2012-01-29 13:40:20

标签: ios objective-c uifont custom-font

我正在尝试为我的iOS应用使用自定义字体。这是我做的事情

我将自定义字体(m.tff)添加到Xcode支持文件目录中。另外,我创建了一个名为Fonts的条目,由myApp.plist中的字体(m.tff)的值名称提供。

在我看来,我有一个标签

UILabel *label = [[UILabel alloc]initWithFrame:CGRect(10, 20, 230, 30)];
label.font = [UIFont fontWithName:@"My custom font" size:15];

等...

问题在于,当我启动应用程序时,标签中的文本是使用默认字体而不是使用特定字体。

我想念的是什么?

EDITED

好吧现在看起来很有效,但字体仅适用于像?但不是为了信件。 我正在使用西里尔文。

6 个答案:

答案 0 :(得分:9)

使用此功能获取所有可用字体

  // List all fonts on iPhone
  NSArray *familyNames = [[NSArray alloc] initWithArray:[UIFont familyNames]];
  for(NSString *familyName in familyNames)
  {
    NSLog(@"family: %@", familyName);

    NSArray *fontNames = [[NSArray alloc] initWithArray:[UIFont fontNamesForFamilyName:familyName]];
    for(NSString *fontName in fontNames)
    {
      NSLog(@"    font: %@", fontName);
    }
  }

查找嵌入的字体,看看它的名称是否相同。

答案 1 :(得分:4)

字体扩展名应为ttf而不是tiff

然后在plist中输入

应用程序Font.ttf

提供的字体

答案 2 :(得分:2)

检查您的[UIFont fontWithName:@"My font" size:15]行是否返回非空的UIFont对象。

答案 3 :(得分:2)

在Info.plist文件中,添加带有数组对象的密钥:Fonts provided by application,并将数组项设置为字符串,如下所示:

MyFont.ttf

其中MyFont是Mac应用程序中字体列出的确切名称,“Font Book”。使用Spotlight启动字体书,然后在其中找到您的字体文件以仔细检查名称。

然后,当您将字体设置为标签时:

myLabel.font = [UIFont fontWithName: @"MyFont" size: someFloatValue];

答案 4 :(得分:0)

m.tiff听起来不像支持的字体文件,即TrueType或OpenType。

答案 5 :(得分:0)

  1. 确保您的字体位于info.plist(应用程序提供的字体)
  2. 选择您的目标,在构建阶段选项卡中,复制捆绑资源,添加您的字体。