欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

iOS-使用添加的花样字体

程序员文章站 2022-04-23 15:38:20
...

代码地址如下:
http://www.demodashi.com/demo/11501.html

项目需求中, 有时候有些金额利率等这些不用系统默认字体展现, 而需要着重突出展示!

一、项目截图及效果截图

  • 项目压缩截图
    iOS-使用添加的花样字体

  • 效果截图
    iOS-使用添加的花样字体

二、主要思路

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

三、程序实现

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

字体库截图如下, 可以根据自己需要的哪些字体添加到项目中.
iOS-使用添加的花样字体

Step2. 在info.plist中添加所需新字体.

这里我用一个UniversLTStd-UltraCn.otf文件做测试:
iOS-使用添加的花样字体

确保能找到资源, 检查下在target–>Build Phases–>Copy Bundle Resources中将info.plist中是否添加上所需字体.
iOS-使用添加的花样字体

Step3. 找到真实可用的fontName

要先找到fontName 就需要先找到familyName, 而familyName是通过我们字体库的文件去找到: 双击字体库打开,系统会默认使用字体册进行打开。这时候状态栏上面显示的是真实的familyName。如下图所示:
iOS-使用添加的花样字体

有了familyName, 则相对应找到fontName就好! 通过上面的循环打印结果,在控制台搜索出相对应的结果即可.

/*
 * 取出花样字体的fontName
 *
 * // familyName : Univers LT Std
 * // fontName : UniversLTStd-UltraCn
 * // 实际中我们使用的应该是fontName,也就是“UniversLTStd-UltraCn”
 */
- (void)testFontName {

    for (NSString *familyName in [UIFont familyNames]) {
        NSLog(@"familyName:%@", familyName);

        for (NSString *fontName in [UIFont fontNamesForFamilyName:familyName]) {
            NSLog(@"fontName:%@", fontName);
        }

        NSLog(@"=====");
    }
}

控制台截图如下:
iOS-使用添加的花样字体

项目中在所需位置使用fontWithName: size:

label.font = [UIFont fontWithName:@"UniversLTStd-UltraCn" size:20];

四、其他补充

可替换使用自己所需的字体, 字体库包含中Demo中.
具体可参考代码, 项目则能够直接运行!
iOS-使用添加的花样字体

代码地址如下:
http://www.demodashi.com/demo/11501.html

注:本文著作权归作者,由demo大师发表,拒绝转载,转载需要作者授权

相关标签: 字体 ios