iOS自定义字体
2019-06-05 本文已影响7人
coming_168
- 对于APP中使用的字体,我们大部分都是使用系统自带的,有时候也会碰到使用一些自定义的字体,根据设计需求而定
- 这里对自定义字体的一些介绍
一般自定义字体分为三种后缀格式:分别为:ttc、ttf、otf
a. TTC字体是TrueType字体集成文件(. TTC文件),是在一单独文件结构中包含多种字体,以便更有效地共享轮廓数据,当多种字体共享同一笔画时,TTC技术可有效地减小字体文件的大小。TTC是几个TTF合成的字库,安装后字体列表中会看到两个以上的字体
b. TTF是apple和微软共同推出的字体文件格式,TTF字体只包含一种字型
c. OTF是TTF的升级版,支持更高级特性的字体
导入自定义字体的实现方法:
1. 将字体文件添加到工程项目中
image.png2. 在Info.plist中添加字体文件的名称(带后缀)
image.png3. 获取所添加字体的字体名称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