IOS 添加自定义字体方法详解
程序员文章站
2023-12-18 17:54:22
1:获取字体文件
从各种渠道下载字体文件ttf, 网站或者从别的ipa里扣出来.(以fzltxh.ttf为例)
2:将fzltxh.ttf文件拷贝到工程中
3:在in...
1:获取字体文件
从各种渠道下载字体文件ttf, 网站或者从别的ipa里扣出来.(以fzltxh.ttf为例)
2:将fzltxh.ttf文件拷贝到工程中
3:在info.plist中添加项:
fonts provided by application(uiappfonts) 可以添加一个或多个item,
如 item0 -- fzltxh.ttf
4:找出真正的字体名称:
因为使用字体时, 要使用字体的真实名称, 而不是文件名, 可以用以下代码来遍历当前设备可用的字体名称,
再从中找出刚才添加的字体真实名称.
nsarray*familynames = [uifont familynames]; for(nsstring*familyname in familynames ) { printf("family: %s \n", [familyname utf8string]); nsarray*fontnames = [uifont fontnamesforfamilyname:familyname]; for(nsstring*fontname in fontnames ) { printf("\tfont: %s \n", [fontname utf8string] ); }
fzltxhk--gbk1-0 这个就是此字体的真实使用名称.
5:使用字体
[uifont fontwithname:@"fzltxhk--gbk1-0"size:fontsize];
6:统一替换
如果想把旧工程的字体整体替换掉, 又不想改动已有代码, 可以重写
systemfontofsize 方法.
#import @interfaceuifont (tjcustom) + (uifont *)systemfontofsize:(cgfloat)fontsize; @end
#import "uifont+custom.h" @implementationuifont (tjcustom) + (uifont *)systemfontofsize:(cgfloat)fontsize { return[uifont fontwithname:@"fzltxhk--gbk1-0"size:fontsize]; } @end
这样的话, 原先写的
systemfontofsize 方法都会用新方法代替, 从而实现整体替换的效果.
文/牵左手不离(简书作者)
原文链接:http://www.jianshu.com/p/edf51b8b6479
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
以上就是ios 添加自定义字体方法 的资料整理,后续继续补充相关资料,谢谢大家对本站的支持!