iOS自定义字体

  • 对于APP中使用的字体,我们大部分都是使用系统自带的,有时候也会碰到使用一些自定义的字体,根据设计需求而定
  • 这里对自定义字体的一些介绍

一般自定义字体分为三种后缀格式:分别为:ttc、ttf、otf
a. TTC字体是TrueType字体集成文件(. TTC文件),是在一单独文件结构中包含多种字体,以便更有效地共享轮廓数据,当多种字体共享同一笔画时,TTC技术可有效地减小字体文件的大小。TTC是几个TTF合成的字库,安装后字体列表中会看到两个以上的字体
b. TTF是apple和微软共同推出的字体文件格式,TTF字体只包含一种字型
c. OTF是TTF的升级版,支持更高级特性的字体

导入自定义字体的实现方法:

1. 将字体文件添加到工程项目中
image.png
2. 在Info.plist中添加字体文件的名称(带后缀)
image.png
3. 获取所添加字体的字体名称FontName
- (void)getFontNames {
    // 字体族名
    NSArray *familyNames = [UIFont familyNames];
    
    NSLog(@"familyNames-->%lu",familyNames.count);
    
    for(int i = 0; i < familyNames.count; i++) {
        NSLog(@"所有字体族名-->%@", familyNames[i]);
        
        NSArray *fontNames = [UIFont fontNamesForFamilyName:familyNames[i]];
        
        for(int j = 0; j < fontNames.count; j++) {
            NSLog(@"FontName-->%@",fontNames[j]);
        }
    }
}

打印结果:
image.png

根据打印出来的字体族名查找到所添加的字体名称进行设置。

4. 设置字体 (需要获取所添加的字体名称)
static inline UIFont *cc_PuHuiTiHFont(CGFloat fontSize)
{
    // AlibabaPuHuiTiH:字体名称 ,fontSize:字体大小
    UIFont *font = [UIFont fontWithName:@"AlibabaPuHuiTiH" size:fontSize];
    if (!font) {
        font = [UIFont systemFontOfSize:fontSize];
    }
    return font;
}

static inline UIFont *cc_DINBoldFont(CGFloat fontSize)
{
    // DIN-Bold:字体名称
    UIFont *font = [UIFont fontWithName:@"DIN-Bold" size:fontSize];
    if (!font) {
        font = [UIFont systemFontOfSize:fontSize];
    }
    return font;
}
5. 实现效果
- (void)addControls {
    UILabel *lb = [[UILabel alloc] initWithFrame:CGRectMake(100, 100, 200, 100)];
    lb.textColor = UIColor.redColor;
    lb.font = cc_DINBoldFont(30);
    lb.text = @"123456";
    [self.view addSubview:lb];
    
    UILabel *lb1 = [[UILabel alloc] initWithFrame:CGRectMake(100, 210, 200, 100)];
    lb1.textColor = UIColor.orangeColor;
    lb1.font = cc_PuHuiTiHFont(30);
    lb1.text = @"123456";
    [self.view addSubview:lb1];
}

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

相关阅读更多精彩内容

  • 那一年,相遇街角,小小的我们,嘴里说着大大的梦想,其实也只不过是对未来的憧憬罢了
    妖邑亓梦阅读 188评论 1 1
  • 命若桃花 一 人间四月芳菲尽,此地桃花始盛开。 骑了三日马,坐了半日船,行到水穷处,弃舟登岸,翻岩渡壑,斗折蛇行,...
    天狼1748阅读 386评论 0 0
  • 沧海横流,斗转星移。转眼我已经在内师一载。在今年,我有幸见证了内师六十岁生辰。 六十年前,你蹒跚学步。开始了...
    妮维雅叶阅读 259评论 0 0

友情链接更多精彩内容