自定义字体Xcode 4.3

Lol*_*z89 5 uilabel custom-font ios5 xcode4.3

我正在尝试在我的项目中使用此字体,但它不起作用.我在我的项目中添加了.ttf文件,并在MyApp-Info.plist中的密钥下添加了它的名称:应用程序提供的字体.然后我尝试了这个:

 [_titleLabel setFont:[UIFont fontWithName:@"chalkboard" size:_titleLabel.font.pointSize]];
Run Code Online (Sandbox Code Playgroud)

我还检查了字体的名称是否真的是"黑板",它是.显示的字体仍然是Helvetica,只是更小.问题出在哪里?提前致谢.

Shm*_*idt 32

您需要使用字体名称,而不是文件名.字体名称在ttf文件中.

你可以在这里找到iOS的字体名称:http://iosfonts.com/

此代码将列出您的应用程序中的所有字体名称,将其放在主控制器上的viewDidLoad中,运行应用程序,然后在控制台中找到该字体的正确名称.

NSArray *familyNames = [[NSArray alloc] initWithArray:[UIFont familyNames]];

NSArray *fontNames;
NSInteger indFamily, indFont;
for (indFamily=0; indFamily<[familyNames count]; ++indFamily)
{
    NSLog(@"Family name: %@", [familyNames objectAtIndex:indFamily]);
    fontNames = [[NSArray alloc] initWithArray:
                 [UIFont fontNamesForFamilyName:
                  [familyNames objectAtIndex:indFamily]]];
    for (indFont=0; indFont<[fontNames count]; ++indFont)
    {
        NSLog(@"    Font name: %@", [fontNames objectAtIndex:indFont]);
    }
}
Run Code Online (Sandbox Code Playgroud)

UPD.

您也可以在Finder中右键单击字体文件,获取信息并复制全名.但它并不总是100%.

  • @Flink:您是否在安装了自定义字体的Xcode 4.3中尝试过字体列表代码?因为它对我不起作用. (2认同)

Arn*_*rne 24

Flinks答案是一个方便的工具,可以检查你的字体是否正确加载.

请执行下列操作:

[_titleLabel setFont:[UIFont fontWithName:@"chalkboard" size:_titleLabel.font.pointSize]];
Run Code Online (Sandbox Code Playgroud)

确保您的字体包含在您的包中:

  • 单击您的项目
  • build phases
  • 'Copy Bundle Resources',请确保包含您的字体

为我工作:)