如何向我的应用添加自定义字体?

时间:2013-07-30 16:45:45

标签: ios ios6 uitableview uilabel uifont

编辑:我明白了!答案发布在下面。谢谢JSD!

我必须遗漏一些东西,因为我认为这是一个相当简单的过程。我已经将字体复制到我的项目文件夹中。我试图在表格单元格的UILabel中使用此代码:

UILabel *cellTitle = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, 300, 40)];
cellTitle.font = [UIFont fontWithName:@"Source Sans Pro Black" size:50];
[cell.contentView addSubview:cellTitle];

它似乎不起作用。文本显示但不包含自定义字体。我错过了什么?

编辑:显然,如果我使用此代码

cellTitle.font = [UIFont fontWithName:@"Source Sans Pro" size:50];

这样可行,但仅使用我的pList文件数组中的最后一个字体,这只是该字体的常规版本。有没有人曾经遇到过这个问题?

这些代码都不起作用:

cellTitle.font = [UIFont fontWithName:@"Source Sans Pro Bold" size:50];
cellTitle.font = [UIFont fontWithName:@"Source Sans Pro Regular" size:50];

这是我的字体书中的字体:

enter image description here

PList文件:

enter image description here

4 个答案:

答案 0 :(得分:2)

确保将字体名称添加到info.plist文件

答案 1 :(得分:1)

将字体添加到项目中。然后,在info.plist文件中,添加一个名为Fonts provided by application的节作为数组类型,每个字体都列在自己的行中...... Item0,Item1等。

在代码中加载字体时,您可以像往常一样加载它: [myUILabel setFont:[UIFont fontWithName:@"MyFontname" size:14]];。通常你会使用postscript名称,可以使用Mac上的FontBook应用程序来发现。

答案 2 :(得分:1)

根据我对自定义字体的使用,您的plist字体名称应该与Font Book中的字体显示方式相匹配,该字体也应与fontWithName方法匹配。在您的情况下,我希望在这两个地方看到Source Sans Pro Black,特别是您的plist Source Sans Pro Black.otf和代码中的cellTitle.font = [UIFont fontWithName:@"Source Sans Pro Black" size:50];

答案 3 :(得分:1)

我刚刚开始工作!感谢JSD指导我正确的方向。显然,问题是XCode如何重命名同一系列中的字体变体。

使用字体簿名称不起作用!!!

你实际上必须看看Xcode如何命名字体。为此,您必须运行日志命令:

NSLog(@"%@", [UIFont fontNamesForFamilyName:@"Source Sans Pro"]);

给了我这个:

enter image description here

此代码有效:

cellTitle.font = [UIFont fontWithName:@"SourceSansPro-Black" size:50];