iOS 使用第三方字体不生效
2020-08-25 本文已影响0人
Eyes_cc
iOS中使用第三方字体并不复杂,通常只需要如下三个步骤:
- 将第三方字体文件添加到工程(Project)中;
-
在info.plist中添加一个新的键"Fonts provided by application",类型设置为NSArray, 并将第三方字体文件名加到item 》Value中。
image.png
- 在需要使用第三方字体的代码中设置:
UILabel *numLabel=[[UILabel alloc]initWithFrame:CGRectMake(0, 0, 200, 45)];
numLabel.font=[UIFont fontWithName:@"Miso-Light" size:38.0f];
但是设置完成后却怎么都不生效,debug了半天才发现是因为将第三方字体拖入工程中时,在弹出的添加文件窗口中没有勾选“Add to targets”。

所以虽然第三方字体文件在工程中,却没有被添加到 Target > Build Phases > Copy Bundle Resources中。于是,手动把第三方字体文件添加进去,重新build,第三方字体就生效了。
-
检查是否可用
如果在代码中用UIFont等添加字体,字体名称要用图中2所显示的名字。【很重要、很重要、很重要】
image.png
- 和UI确认字体
for fontfamilyname in UIFont.familyNames {
print("family:'\(fontfamilyname)'")
for fontName in UIFont.fontNames(forFamilyName: fontfamilyname) {
print("\tfont:'\(fontName)'")
}
print("-------------")
}