iOS 自定义字体不显示

作者: 40c0490e5268 | 来源:发表于2016-09-01 11:37 被阅读601次

前段时间的开发中遇到了一个十分奇葩的问题,在 APP 的某个页面需要设置 楷体_GB2312 字体时,APP 显示出来的却是系统默认的苹方字体,设置字体的代码如下:

UILabel *label = [[UILabel alloc]init];

 label.font = [UIFont fontWithName:@"KaiTi_GB2312" size:12];

检查过字体 .ttf 文件导入正确,试过数个字体文件,包括在工程的Info.plist文件中添加的 Fonts provided by application 等均操作无误,字体依然显示系统默认字体.

在遍历查询字体名称时,发现字体库中并没有"KaiTi_GB2312"这一字体名.也就是说虽然添加了字体文件,设置了Info.plist, 字体却没有被添加进字体库中.但是在 .xib 文件中却可以选择使用该字体并能正常显示.

先说解决方法:

在项目中新建一个 .xib 文件,在 .xib 文件中使用自定义字体,并确保在编译时该 .xib 文件被编译,然后自定义字体就能够正常显示啦!

问题分析:

这个问题困扰了博主长达半个月之久,在求助于各路技术大牛,并经过多次试验后,博主斗胆对该问题进行如下分析:

可能是由于苹果公司为了提升编译效率,或出于支持 xib 技术等原因,在工程中无 xib 文件被编译时, xib 文件中的字体不被添加进字体库中.而 xib  文件被编译后, xib 文件中的字体才会被添加进字体库中.

由于该问题有很强的迷惑性,博主在重现该问题时也经历了多次失败,首先要确保项目中没有任何被编译的 .xib 文件,其次字体要正确添加无误.

博主把踩过的坑写出来,就算不知道为啥这里会有坑,但至少告诉大家跳出这个坑的方法.

祝各位工作顺利,天下无坑.

相关文章

  • iOS在项目中使用自定义字体

    iOS 自定义字体是指,使用自己从外部导入的字体库使用在对应的文本显示中。 一般的iOS自定义的字体库是 .ttf...

  • iOS App导入自定义字体

    原文iOS App导入自定义字体 需求 iOS项目中需要导入第三方字体,来进行显示字体样式。 实现方法 1 先找到...

  • 动态注册字体

    项目中如果只是使用几种固定的字体,可以本地添加自定义字体,可以参考iOS加入自定义字体库[https://www....

  • iOS 自定义字体不显示

    最近遇到一个很奇怪的问题,自定义字体不显示,具体的操作步骤就不在赘述,通过 [UIFont familyNames...

  • iOS 自定义字体不显示

    前段时间的开发中遇到了一个十分奇葩的问题,在 APP 的某个页面需要设置 楷体_GB2312 字体时,APP 显示...

  • iOS开发常用设置

    目录:[TOC]妈呀,怎么还不支持目录语法呢!!!@简叔 一、UI类 1、自定义字体使用   iOS自定义字体支持...

  • iOS 在UILabel显示不同的字体和颜色&&

    iOS 在UILabel显示不同的字体和颜色 self.title = @"For iOS 6 & later";...

  • iOS 自定义字体

    iOS 自定义字体打印 2019-7-8 fontFamilyName:'Copperplate' fontFam...

  • iOS开发-如何使用.ttf文件(自定义字体)

    客户要求APP中所有数据的显示和输入使用类似银行卡账号字体,后来查资料发现需要自定义字体,在使用自定义字体之前需要...

  • UIFont「自定义字体」

    iOS自定义字体 1.将字体文件导入工程(.ttf) 2.打开Build Phases -> Copy Bundl...

网友评论

    本文标题:iOS 自定义字体不显示

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