iOS在应用中添加自定义字体

热门标签

特别声明:文章多为网络转载,资源使用一般不提供任何帮助,特殊资源除外,如有侵权请联系!

iOS在应用中添加自定义字体

一、在应用中添加自定义字体的步骤

1、网上提供的字体库有很多,下载完成后,将其导入工程中,一般为ttf格式。

2、注意Build Phases中的Copy Bundle Resources中是否导入了文件:

iOS在应用中添加自定义字体

3、在项目的info.plist文件中添加字体键值如下:

iOS在应用中添加自定义字体

这个数组中可以添加多个元素,多个字体库。

4、这时实际上我们已经将字体添加进了工程中,但是在在使用这个字体时,字体的名字有时和文件名是不一样的,我们需要知道真实的字体名称,通常情况下,我们会讲所有字体名称打印出来:

    for (NSString * name in [UIFont familyNames]) {
        for (NSString * fo in [UIFont fontNamesForFamilyName:name]) {
           NSLog(@"%@",fo);
        }
    }

 

5、找到我们需要的字体,如下使用即可:

 UIFont * font = [UIFont fontWithName:@"yuweij" size:14];

 

二、如何快速的找到新添加的字体名字

如果你将所有字体都打印了出来,在其中找到新的字体名称是身份困难的,尤其是当这个字体的名称和文件名相差甚远的时候,这是一件非常痛苦的事情。

为了在以后使用自定义字体的时候不必一次一次的经历这样的痛苦,在Xcode6.3的环境下,我将所有的系统字体获取后写入了plist文件,将这个plist文件导入项目中,通过如下方法,可以只打印出新增加的字体:

    NSString *paths=[[NSBundle mainBundle]pathForResource:@"font" ofType:@"plist"];
    //得到完整的文件名
    NSDictionary * rootDic = [NSDictionary dictionaryWithContentsOfFile:paths];
    //遍历当前所有字体
    for (NSString * name in [UIFont familyNames]) {
        NSArray * fontArray = [rootDic objectForKey:name];
        BOOL tip = NO;
        for (NSString * fo in [UIFont fontNamesForFamilyName:name]) {
            for (NSString * tmp in fontArray) {
                if ([tmp isEqualToString:fo]) {
                    tip=YES;
                    break;
                }
            }
            if (!tip) {
                NSLog(@"%@",fo);
            }
        }
    }

 

如果你也需要,字体集plist文件的地址:https://github.com/ZYHshao/YHBaseFoundationTest/tree/master/YHBase/BaseSouce

 

标签:

未经允许不得转载:作者:SheaYang, 转载或复制请以 超链接形式 并注明出处 技术Dog|博客
原文地址:《iOS在应用中添加自定义字体》 发布于2019-10-02

分享到:
赞(0)

评论 抢沙发

4 + 5 =


iOS在应用中添加自定义字体

长按图片转发给朋友

Vieu4.0主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录