2010-12-21 59 views
9

我在Xcode项目中添加了一个字体文件(.ttf)到资源。另外,我将它添加到我的info.plist中的UIAppFonts中。在接口构建器或模拟器中,ttf字体不适用于iPhone

虽然我想使用这种字体,但我甚至没有把它看作是IB的选择。

在我的系统上安装字体后,我开始在IB中看到它,但仍然 - 更改为不会更改任何内容 - 某些默认系统字体显示在Interface Builder以及iPhone模拟器中。

是否有更多的步骤可以使用我自己的字体?

回答

17

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

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

<key>UIAppFonts</key> 
<array> 
    <string>swellfont.ttf</string> 
</array> 

然后,使用该字体:

label.font = [UIFont fontWithName:@"swellfont" size:12]; 

假设标记为的UILabelswellfont.ttfprotected。请注意,UIFont的fontWithName不是指文件名,而是需要字体的实际名称。如果您使用FontForge打开字体,您可以通过从菜单栏选择“元素”>“字体信息”来查看此信息。有可能更聪明的方法来找到这些信息。

+7

应当注意的是,字符串参数应该是字体的名称不是文件名的字体文件(这可能会或可能不一样)。这种区别使我旋转了一下轮子。 – cesarislaw 2010-12-21 21:40:56

+0

是的 - 我按照你的评论添加了这些信息。这也给了我很多问题。令人困惑的一种!苹果公司与“名字”的定义一起快速松动。 :) – Allyn 2010-12-21 21:45:50

+0

感谢您的提示!帮了我很多。 – kender 2010-12-22 15:39:02

0

我在APP中使用2种字体。第一个被自动添加到“Copy Bundle Resources”中,另一个不是。我必须自己添加那个。

呼叫代码:

[labelName setFont:[UIFont fontWithName:@"OneGreatBigFont" size:40]]; 
相关问题