ttf字体在界面构建器或模拟器中不适用于iPhone

ken*_*der 9 iphone fonts cocoa-touch ios-simulator

我在我的Xcode项目中添加了一个字体文件(.ttf)到资源.另外,我将它添加到我的info.plist中的UIAppFonts.

当我想使用这种字体时,我甚至不认为它是IB的选择.

在我的系统上安装字体之后,我开始在IB中看到它,但仍然 - 改变它并没有改变任何东西 - 一些默认的系统字体显示在Interface Builder和iPhone模拟器中.

为了能够使用我自己的字体,我还有更多的步骤吗?

All*_*lyn 17

要在iOS上使用自定义字体,您必须以编程方式设置它们.

例如,假设您有一个名为swellfont.ttf的字体文件,您将其添加到项目中.然后,您将进入App-Info.plist文件,并将文件的全名添加到UIAppFonts键入的数组的下一个索引中,如您所述.

<key>UIAppFonts</key>
<array>
    <string>swellfont.ttf</string>
</array>
Run Code Online (Sandbox Code Playgroud)

然后,使用字体:

label.font = [UIFont fontWithName:@"swellfont" size:12];
Run Code Online (Sandbox Code Playgroud)

假设标签是UILabel并且swellfont.ttf不受保护.重要的是要注意UIFont的fontWithName不是指文件名,而是需要字体的实际名称.如果使用FontForge打开字体,可以通过从菜单栏中选择元素>字体信息来查看此信息.可能有更聪明的方法可以找到这些信息.

  • 应该注意的是,字符串参数应该是字体名称而不是字体文件的文件名(可以是也可以不同).这种区别让我旋转了一下车轮. (7认同)
  • 我遇到了一个问题,即使按照这些步骤后字体也不可用.我需要将字体文件添加到我的Copy Bundle Resources Build Phase中,以便将它包含在构建中. (3认同)