iOS9以前版本自定义字体

PingfangSC字体

  • 自iOS9开始添加了PingFangSC(苹方)字体,UI看到其他App使用该字体体验不错,然后让我们App添加这种字体,为兼容iOS9及以前iOS系统使用这种字体,不乏网上搜集资料(下载各种字体放入project中使用),各种不爽
  • 最后从Mac字体册中找到** PingFangSC.ttc**,移入项目,感觉甚好。

添加字体

1.找到系统字体

spotlight搜索“字体册”,找到pingfangsc.ttc,移入项目并添加到project的copy bundle resources中。

iOS9以前版本自定义字体_第1张图片
找到字体库

2.给项目添加字体库

在info.plist的Fonts provided by application添加响应字体库名称,后缀也需要

iOS9以前版本自定义字体_第2张图片
添加字体库到项目

3.打印font family,检查是否安装成功

移入项目后使用代码查看项目中支持的字体

// 遍历获取字体名称
    for(NSString *fontFamilyName in [UIFont familyNames])
    {
        NSLog(@"family:'%@'",fontFamilyName);
        for(NSString *fontName in [UIFont fontNamesForFamilyName:fontFamilyName])
        {
            NSLog(@"\tfont:'%@'",fontName);
        }
        NSLog(@"-------------");
    }
  • 打印日志如下:
 line:163 content:-------------

 line:158 content:family:'PingFang SC'

 line:161 content:  font:'PingFangSC-Medium'

 line:161 content:  font:'PingFangSC-Regular'

 line:161 content:  font:'PingFangSC-Light'

 line:161 content:  font:'PingFangSC-Ultralight'

 line:161 content:  font:'PingFangSC-Semibold'

 line:161 content:  font:'PingFangSC-Thin'

 line:163 content:-------------

代码调用

//label.text
[depictLabel setFont:[UIFont fontWithName:@"PingFangSC-Regular" size:[Util getFontSizeFrom6:32]]];

//NSAttributedString
NSAttributedString *modifyCodeFieldAttributePlaceHolder = [[NSAttributedString alloc] initWithString:@"请输入验证码" attributes:@{NSForegroundColorAttributeName:[Util stringTOColor:@"#999999"],NSFontAttributeName: [UIFont fontWithName:@"PingFangSC-Regular" size:[Util getSizeFrom6:28]]}];
        _modifyCodeField.attributedPlaceholder = modifyCodeFieldAttributePlaceHolder;
        _modifyCodeField.font = [UIFont fontWithName:@"PingFangSC-Regular" size:[Util getSizeFrom6:28]];

Avenir字体

  • Avenir.ttc的是罗马字体,主要用于数据和英文的展示,起初下意识起找字体册添加,但是Avenir字体貌似从iOS6就开始使用了。
    参考

你可能感兴趣的:(iOS9以前版本自定义字体)