美文网首页搜集知识iOS头条干货iOS常用功能和UI效果的实现
iOS—添加字体库(示例:优雅漂亮的翩翩体)

iOS—添加字体库(示例:优雅漂亮的翩翩体)

作者: 艳晓 | 来源:发表于2016-06-27 11:42 被阅读1012次

    引述

    我们在项目中有时候会用到一些非常花俏的字体,在这里,我做了一个非常简单易懂的小demo。当然,也选了我比较喜欢的翩翩体。

    首先,我们在项目中设置字体时,通常使用下面两个方法。

        [UIFont systemFontOfSize:20];
        [UIFont fontWithName:@"" size:20];
    

    其次,系统中已经提供了非常多种的字体。

    字体有两个概念:字体族,字体名。每个字体族群下有一个或多个字体,也可能没有,但是字体族群名本身,也是一种字体。

    部分字体截图.png

    我们可以通过以下方式,查看字体名,从而通过[UIFont fontWithName:@"" size:];等方法进行设置。

    //    获取字体族的名字数组
    NSArray *arr = [UIFont familyNames];    
    for (NSString *family in arr) {
       // 打印字体族名
       NSLog(@"familyName = %@", family);
       NSArray *arr2 = [UIFont fontNamesForFamilyName:family];     
       for (NSString *name in arr2) {
            // 打印字体名
            NSLog(@"fontName = %@", name);
        }
    }
    

    进入正题----添加字体库

    一、获取要加入的字体

    方式1:
    通过百度搜索想要添加的字体的ttf格式文件(当然了,想怎么搜都行的。)

    搜索字体库.png
    二、将字体库导入项目文件中

    1、直接将字体库拖进项目中
    2、对info.plist文件进行设置 添加 Fonts provided by application,数组里面可以写入多条字体文件名
    如果需要添加多个字体的话,点击“+”,进行添加。item的String是字体库文件的名字。

    设置.png

    3、在target-->Build Phases-->Copy Bundle Resources中,查看确认info.plist中添加的字体是否已经添加上。如果没有,添加上。 否则会出现找不到资源的情况

    Copy Bundle Resources截图.png

    4、有时候文件名和真实的字体名称还不同。比如翩翩体在截图中使用的是Redocn_2013100307135706.ttf,这个不是真实的字体名称。这时候我们还需要找到真实可用的fontname.
    方法:双击字体库,系统会默认使用字体册进行打开。这是状态栏上面显示的是真实的familyName。如下图。


    77370622-CCBE-4F65-A97D-1335F84EAD52.png
    三、代码
    UILabel * label = [[UILabel alloc] initWithFrame:CGRectMake(50, 100, 200, 30)];
    label.textColor = [UIColor blueColor];
    label.font = [UIFont fontWithName:@"HanziPen SC" size:20];
    label.text = @"读书的意义";
    [self.view addSubview:label];
    
    UILabel * label1 = [[UILabel alloc] initWithFrame:CGRectMake(50, 200, 200, 30)];
    label1.textColor = [UIColor redColor];
    label1.font = [UIFont systemFontOfSize:20];
    label1.text = @"用生活所感去读书,用读书所得去生活";
    [self.view addSubview:label1];
    
    四、效果图如下:
    8EC6F4B2-A50E-4060-8120-A01B6E4E15AC.png
    注意事项:

    实际开发中,字体用的少是因为需要授权,一般都很贵。如果大量使用,产品用户群体又比较大,还是建议谨慎——来自霖溦的建议。
    霖溦:http://www.jianshu.com/users/c8f8558a4b1d/latest_articles

    相关文章

      网友评论

      • 霖溦:实际开发中,字体用的少是因为需要授权,一般都很贵……
        艳晓:@霖溦 O(∩_∩)O好的👍
        霖溦:@艳晓 如果大量使用,产品用户群体又比较大,还是建议谨慎
        艳晓:@霖溦 (⊙o⊙),因为是第一次涉及到添加字体库,并没有使用授权。现在涨知识了,谢谢!👍
      • 7emini:一个字体好大的, 如果 App 的大小有较高的限制, 是不是应该首选系统字体呢?
        艳晓:@SunnyPig 实际情况,我们也是比较少用到这些字体的,你打印一下系统提供的字体fontfamily里面,其实已经提供了特别多的选择。像我们单独加字体库这种情况,一般是APP有字体要求才使用。
      • 艳晓:O(∩_∩)O哈哈~现在已经好了,效果图已经换过了
      • 壹点微尘:也是哈,看着颜色设置的蓝色
      • 云无心:label.textColor = [UIColor blueColor];
        label.font = [UIFont fontWithName:@"HanziPen SC" size:20];
        label.text = @"读书的意义";
        为啥是红色的,,,,我没运行
        艳晓:@云无心 哈哈改过来了,label1是直接拷贝label的,颜色没改。现在这样就可以了,效果图也换了

      本文标题:iOS—添加字体库(示例:优雅漂亮的翩翩体)

      本文链接:https://www.haomeiwen.com/subject/cryzdttx.html