3

我正在尝试为我的 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];

ETC...

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

我在这里想念什么?

已编辑

好吧,它现在似乎有效,但该字体仅适用于像 , ? 但不适用于字母。我正在使用西里尔文顺便说一句。

4

6 回答 6

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

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

于 2012-01-29T13:47:52.357 回答
4

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

然后在 plist 中输入

应用程序 Font.ttf 提供的字体

于 2012-01-29T13:46:26.720 回答
2

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

于 2012-01-29T13:46:02.167 回答
2

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

MyFont.ttf

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

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

myLabel.font = [UIFont fontWithName: @"MyFont" size: someFloatValue];
于 2012-01-29T13:52:03.050 回答
0

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

于 2012-01-29T13:48:32.867 回答
0
  1. 确保您的字体在 info.plist 中(应用程序提供的字体)
  2. 选择您的目标,在构建阶段选项卡中,复制捆绑资源,添加您的字体。
于 2015-03-31T16:53:09.940 回答