1,字体下载完后,解压到本地,常用字体文件格式有.otf,.ttf,.ttc等。
2,添加到Xcode工程,可以直接把字体文件拖拽到壳工程并"Copy Bundle Resources",也可以在 File->Add Files to “xxx”,将字体文件添加到壳工程中
3,Info.plist文件,新增Key- Value,“Fonts provided by application” 添加字体数组,eg.
直接通过索引名称使用,或者通过遍历UIFont.familyNames,找到相应的名字使用。
public extension UIFont {
/// 扩展字体,非系统字体, 字体大小,字体名称,如果找不到相关字体,允许返回nil
class func ex_extFont(ofSize fontSize: CGFloat, fontName: String) -> UIFont? {
return self.init(name: fontName, size: fontSize)
}
/// 思源黑体字体支持
class func SourceHLight(ofsize fontSize: CGFloat) -> UIFont {
return ex_extFont(ofSize: fontSize, fontName: "SourceHanSansCN-Light") ?? ex_light(ofSize: fontSize)
}
class func SourceHBold(ofsize fontSize: CGFloat) -> UIFont {
return ex_extFont(ofSize: fontSize, fontName: "SourceHanSansCN-Bold") ?? ex_bold(ofSize: fontSize)
}
class func SourceHHeavy(ofsize fontSize: CGFloat) -> UIFont {
return ex_extFont(ofSize: fontSize, fontName: "SourceHanSansCN-Heavy") ?? ex_heavy(ofSize: fontSize)
}
class func SourceHRegular(ofsize fontSize: CGFloat) -> UIFont {
return ex_extFont(ofSize: fontSize, fontName: "SourceHanSansCN-Regular") ?? ex_regular(ofSize: fontSize)
}
class func SourceHNormal(ofsize fontSize: CGFloat) -> UIFont {
return ex_extFont(ofSize: fontSize, fontName: "SourceHanSansCN-Normal") ?? ex_regular(ofSize: fontSize)
}
class func SourceHExtraLight(ofsize fontSize: CGFloat) -> UIFont {
return ex_extFont(ofSize: fontSize, fontName: "SourceHanSansCN-ExtraLight") ?? ex_light(ofSize: fontSize)
}
class func SourceHMedium(ofsize fontSize: CGFloat) -> UIFont {
return ex_extFont(ofSize: fontSize, fontName: "SourceHanSansCN-Medium") ?? ex_medium(ofSize: fontSize)
}
}