/SFJFontDemo

动态下载字体,匹配字体

Primary LanguageObjective-C

SFJFontDemo

动态下载字体,匹配字体

参考链接

下载字体大都差不多,都是通过都是通过CTFontDescriptorMatchFontDescriptorsWithProgressHandler方法,通过block去传递各种状态。

本文是通过,代理的形式传递的。

SFJFontDownLoader结构

- (void)fontDownloaderDidBegin:(SFJFontDownLoader *)downloader fontName:(NSString *)fontName;;
- (void)fontDownloaderDidFinish:(SFJFontDownLoader *)downloader fontName:(NSString *)fontName;
- (void)fontDownloader:(SFJFontDownLoader *)downloader didFailWithError:(NSError *)error fontName:(NSString *)fontName;
- (void)fontDownloader:(SFJFontDownLoader *)downloader progress:(CGFloat)progress fontName:(NSString *)fontName;

通过如上的4个方法去检测,字体的下载状态。

- (void)downloadFontNamed:(NSString *)fontName;
- (void)registerDownloadedFontNamed:(NSString *)fontName;

需要注意的是 registerDownloadedFontNamed:方法,针对下载过的字体,我们通过这种方式去注册,然后就能正常使用了。 调用这个方法之后,如果有设置代理,那么会走代理方法中的- (void)fontDownloaderDidFinish:(SFJFontDownLoader *)downloader fontName:(NSString *)fontName; 方法

详细的用法请见demo。