iOS-自定义字体库

今天,经过多次测试的项目,交付客户测试,却遭到当头一棒。crash!crash!crash!不断的crash。
原来是由于字体不支持的缘故,不直接测试调试的话,还真是很容易忽略这个问题。项目主要使用的是苹方字体,这是苹果ios9才引入的官方字体,iOS8是不支持的。若要兼容iOS8以上,那只能在项目中添加自定义字体了。
方法如下

  1. 下载苹方字体
    苹方字体下载
苹方字体ttf文件
  1. 导入字体文件
    将字体文件导入到工程中。
字体导入.png
  1. 配置字体文件
    Info plist 下添加 Fonts provided by application,并在Fonts provided by application添加字体文件,名字需于字体文件完全保持一致。
配置字体.png

注意:此处必须是完整的文件名包含后缀。

  1. 检查字体文件是否导入
    4.1. 检查Build Phases 下的 copyBundleResources下是否导入了字体文件
Build Phases.png

注意此处必须是单独的字体文件,不能是如下图这种文件夹形式的。

字体文件夹

4.2. 打印

  // 遍历获取字体名称
    for(NSString *fontFamilyName in [UIFont familyNames])
    {
        NSLog(@"family:'%@'",fontFamilyName);
        for(NSString *fontName in [UIFont fontNamesForFamilyName:fontFamilyName])
        {
            NSLog(@"\tfont:'%@'",fontName);
        }
        NSLog(@"-------------");
    }
字体名字.png
  1. 使用字体
textLabel.font = [UIFont fontWithName:@".PingFang-SC-UltraLight" size:17];

此处使用的名字,必须是如上图所示打印出来的名字

经测试发现,在xcode9beta6字体名字不一样,不只是不是测试版的缘故,如果不是的话,针对iOS11要单独适配了。

xcode9 iOS11 上字体名字.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容