> 从iOS6开始,苹果开始支持动态下载官方提供的中文字体到系统中。使用苹果官方提供的中文字体,既可以避免版权问题,又可以节省应用体积。该方案适合对字体有较多需求的应用。 ——以上摘抄自《iOS开发进阶》。 ----------- 对于此部分苹果官方有Demo,[超级传送门](https://developer.apple.com/library/content/samplecode/DownloadFont/Introduction/Intro.html#//apple_ref/doc/uid/DTS40013404-Intro-DontLinkElementID_2) 唐巧的这一章,原本是非常有用的一章,然而,然而。不仅连接失效(因为时间的原因,链接失效是可以原谅的,但是此书是2015的印刷版本,但是你这个连接到底是几年前的?~~),而且如果你真的一模一样抄了书上的代码,一定是没有效果的。。。。。 介于以上原因,Strong整理了这部分内容,并且封装了代码,这是github链接[XFontTool](https://github.com/StrongX/XFontTool); # install download the XFontExample; drag the folder XFontExample->XFontTool to your project # Usage ``` #import "XFontTool.h” ``` there are just two method ``` +(BOOL)isDownloadFont:(NSString *)fontName; +(void)downLoadFontWithFontName:(NSString *)fontName progress:(void(^)(CGFloat pro))progress complete:(void(^)(void))complete errorMsg:(void(^)(NSString *message))errorMsg; ``` # Example Code ``` NSString *fontName = XChineseFont_YuppySC_Regular; if ([XFontTool isDownloadFont:fontName]) { _exampleLabel.font = [UIFont fontWithName:fontName size:40]; return; } [XFontTool downLoadFontWithFontName:fontName progress:^(CGFloat pro) { NSLog(@"progress:%f%%",pro); } complete:^{ _exampleLabel.font = [UIFont fontWithName:fontName size:40]; } errorMsg:^(NSString *message) { NSLog(@"errorMessage:%@",message); }]; ``` # Attention whenever you use the downLoad font you should check the font whether you had download; ` [XFontTool isDownloadFont:fontName] `