有时候UI经常设计一些好看的字体,而这些字体又是iOS字体库中没有的,所以这时候我们就需要导入第三方的字体。

1.找到你想用的字体(一般为ttf或otf等格式),从网上下载下来,并将其拖入到项目中。如本文下载了一个叫站酷快乐体.ttf的字体。

图1. 站酷快乐体.ttf

2.修改Info.plist: 添加Fonts provided by application属性, 设值为字体的文件名.如图所示:

图2. 修改Info.plist

3.接下来就是要知道对应字体的名字FontName了。一个字体文件包括以下几个内容:文件名、字体名称、字体具体名称,我们只有文件名,不知道字体名称是什么,更不知道具体的名称,那么我们就需要写代码获得具体的字体名称。方法如下:

NSArray *familyNames =[[NSArray alloc]initWithArray:[UIFont familyNames]];
    NSArray *fontNames;
    NSInteger indFamily, indFont;
    NSLog(@"familyNames count]===%lu",(unsigned long)[familyNames count]);
    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]);

        }
    }

查看console,以上程式会列出所有的字型,当然也包含“Fonts provided by application”所加的字型,但请注意,名字可能差距很大,要自己找一下。要使用字体的Family name,而不是字体的文件名,弄错了将无法看到效果.如果是单独运用某一个字体方式,也可以使用font name,具体看个人喜好。

4.在代码中指定字体,比如说创建了一个UILabel

bigLbl.font = [UIFont fontWithName:@"HappyZcool" size:36];
5.效果图如下:

图3. 快乐站酷字体效果图