专栏首页mukekeheart的iOS之旅iOS学习——iOS项目增加新的字体

iOS学习——iOS项目增加新的字体

基本思路

  在项目开发过程中,iOS系统自带的字体库可能不适应需求,需要导入其他的字体库。下面是iOS项目增加新的字体的基本思路,基本上分为三步:

  1. 将字体库添加到项目中
  2. 在info.plist中添加所需新字体, 同时也在target-->Build Phases-->Copy Bundle Resources中将info.plist中添加的字体添加上(确保能找到资源)
  3. 找到真实可用的fontName, 代码中使用fontWithName: size: .

具体步骤

Step1. 将字体库添加到项目中

添加过程中一定要选中 copy items if needed,将文件copy到项目中。添加成功后的项目结构效果图如下图

Step2. 对字体库进行配置。

配置有两步

  • 第一是需要在info.plist中添加所需新字体,在 info.plist文件中添加一组键值对,Fonts provided by application,然后在下面的item对应的值填写就是我们添加的字体库文件的名称
  • 第二是需要在target-->Build Phases-->Copy Bundle Resources中将info.plist中添加的字体添加上(确保能找到资源)

Step3. 找到真实可用的fontName,代码中使用fontWithName: size:。

前面的配置做好之后,我们就可以使用了,但是使用fontWithName: size:需要知道字体库的名称,所以我们需要检测是否已经成功导入字体到系统了,我们就打印一下 Fontfamily 来看看我们添加的字体库是否已导入,并且可以获取到我们添加的字体的名称。

// 遍历获取字体名称
- (void)printFontName
{
    for(NSString *fontFamilyName in [UIFont familyNames]){
        NSLog(@"family:'%@'",fontFamilyName);
        for(NSString *fontName in [UIFont fontNamesForFamilyName:fontFamilyName]){
            NSLog(@"\tfont:'%@'",fontName);
        }
        NSLog(@"-------------");
    }
}

结果如下,我们可以发现我们添加的字体是名称,后面就可以直接使用了

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Java基础——左移和右移

    首先要明白一点,这里面所有的操作都是针对存储在计算机中中二进制的操作,那么就要知道,正数在计算机中是用二进制表示的,负数在计算机中使用补码表示的。 左移位:<<...

    mukekeheart
  • ios学习——键盘的收起

      在开发过程中,我们经常会用到UITextField、UITextView等文本框,然后这些文本框在点击之后会自动成为第一响应者(FirstResponder...

    mukekeheart
  • iOS工具——Xcode9无证书真机调试

      入坑iOS开发这么久,一直都是在模拟器上运行,公司的项目也都有公司的开发者账号进行真机调试。但是很多时候在网上download一些demo想在真机上运行看一...

    mukekeheart
  • 全球最难中学生数学竞赛捷报:中国队远程参赛摘下三金一铜,新晋“一姐”严彬玮排名世界第三

    去年12月满分夺冠中国奥数竞赛的南师大附中女生严彬玮,本次大师赛发挥稳定,队内成绩最好,排名全球第三。

    量子位
  • 超冗余机器人运动控制:蛇形机器人 & 8自由度平面机械臂

    超冗余机器人具有适应复杂多变环境的特点,成为机器人研究中的一个热点,超冗余机器人的代表诸如蛇形机器人等。,生物蛇所 具有的运动步态是无足脊椎动物行走步态的典 范...

    ZC_Robot机器人技术
  • html当中如何引用js文件

    3)html当中如何引用js文件 如果需要javascript工程师和html美工各干各的工作,需要分开写文件。 例 1.2 <html> <head> ...

    马克java社区
  • CES2020:Nreal Light斩获“Tom’s Hardware”评选的“最佳混合现实设备”奖

    美国时间1月7日-1月11日,一年一度的全球最大的消费电子展CES如期举行。今年CES上,围绕5G,智能可穿戴、智能家居、汽车、机器、VR/AR……新品林立,无...

    VRPinea
  • opencv与mfc显示图片操作,MFC的鼠标响应在opencv图片上失效,opencv滚轮事件没有响应问题描述解决。

    原文链接:https://www.cnblogs.com/DOMLX/p/11588758.html

    徐飞机
  • AutoML: A Survey of the state-of-the-art

    https://arxiv.org/pdf/1908.00709.pdf​arxiv.org

    marsggbo
  • 请问,软件测试中,购物车的测试点有哪些?

    界面测试、功能测试、兼容性测试、易用性测试、性能测试,最后根据测试用例模版编写测试用例。测试用例字段一般包括:编号、测试项目名称、用例标题、重要级别、前置条件、...

    软件测试君

扫码关注云+社区

领取腾讯云代金券