如何在iOS中使用.ttc自定义字体

时间:2014-07-26 04:21:30

标签: ios uifont custom-font

我读到iOS支持.ttc文件(字体集),但我不知道如何只用一个文件指定不同的字体权重。

我习惯用这样的文件名来做这个

[UIFont fontWithName:@"ProximaNova-Bold" size:17.0f];

但是使用.ttc文件我只有一个文件。

2 个答案:

答案 0 :(得分:2)

你说你已经习惯了按文件名"来做,但是,这不是fontWithName:size:的工作方式。 "名称"在这种情况下,字段应该是字体本身的名称。如果它在过去使用文件的名称,那只是因为你很幸运,文件的名称和字体恰好相同。

有两种方法可以找到字体名称:

1)在OS X机器上安装字体,然后在Font Book中打开字体,单击所需的系列,然后使用预览>显示字体信息。您将需要" PostScript名称"。

2)在应用程序运行时,在调试器中停止并调用[UIFont familyNames]。在这些名称中找到您的字体的可能候选者。然后用您家人的名字调用[UIFont fontNamesForFamilyName:@" Foo"]。选择可能与您的字体对应的字体名称。

请注意,这解决了"如何指定不同字体权重的问题"。答案是你实际上通过名称引用它们来加载TTC中的单个字体。

答案 1 :(得分:2)

如果您的问题是关于添加系统未提供的字体,那么Adam的指导是正确的但不完整。

  1. 将字体添加到app bundle并确保它是'Copy Bundle Resources'阶段的一部分。您也可以在项目导航器中选择字体,然后在右侧的文件检查器中检查大型成员资格。
  2. 打开应用程序的plist并将字体的文件名添加到键UIAppFonts Add <code>UIAppFonts</code>
  3. 的数组中
  4. 获取字体的postscript名称(如Adam指示的那样)

    1. 在OS X计算机上安装字体
    2. 打开Font Book中的字体
    3. 打开字体系列,然后打开字体
    4. 查看&gt;显示字体信息。请注意“PostScript名称”。
  5. 使用PostScript名称[UIFont fontWithName:@"AppleSymbols" size:24]

  6. 引用代码中的字体