美文网首页iOS自我学习库
iOS下载使用自定义字体

iOS下载使用自定义字体

作者: 削土豆的剑客 | 来源:发表于2017-05-08 15:16 被阅读381次

使用内置字体就不说了,这里说一下如何下载并使用自定义的字体
第一步,下载字体
首先得要下载ttf文件,下面代码中的dict为

{
    id = 23eb3318ae46465f8ffe52e74fb68751;
    name = "\U534e\U5eb7\U53ef\U7231\U82f1\U6587\U4f53";
    url = "font/2017/04/19/90f8f66d94fe43578bd477700c6de98a.ttf";
}

则URL应为:http://www.zume100.com:8091/app/font/downloadFont?id=23eb3318ae46465f8ffe52e74fb68751
下载时要导入第三方库#import "AFNetworking.h"

  NSString * url = [NSString stringWithFormat:@"%@/font/downloadFont?id=%@",[ZumeSysConfig getServerUrl],[dict objectForKey:@"id"]];
  NSURL * URL = [NSURL URLWithString:url];
  NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
  AFURLSessionManager * manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:configuration];
  NSURLRequest *request = [NSURLRequest requestWithURL:URL];
  NSURLSessionDownloadTask *_downloadTask;
  _downloadTask = [manager downloadTaskWithRequest:request progress:nil destination:^NSURL *(NSURL *targetPath, NSURLResponse *response) {
                    NSString *cachesPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];
                    NSString * str = [dict objectForKey:@"name"];
                    NSString *path = [cachesPath stringByAppendingPathComponent:str];
                    return [NSURL fileURLWithPath:path];
                } completionHandler:^(NSURLResponse *response, NSURL *filePath, NSError *error) {
                    NSString *imgFilePath = [filePath path];
                }];
                    [_downloadTask resume];
            }

下载完成,文件地址是imgFilePath
第二部,使用ttf

 NSString *imgFilePath = [filePath path];
 NSURL *fontUrl = [NSURL fileURLWithPath:imgFilePath];
 CGDataProviderRef fontDataProvider =  CGDataProviderCreateWithURL((__bridge CFURLRef)fontUrl);
 CGFontRef fontRef = CGFontCreateWithDataProvider(fontDataProvider);
 CGDataProviderRelease(fontDataProvider);
 CTFontManagerRegisterGraphicsFont(fontRef, NULL);
 NSString *fontName = CFBridgingRelease(CGFontCopyPostScriptName(fontRef));
 label.font = [UIFont fontWithName:fontName size:24];

上面的fontName就是对应下载ttf文件的字体,这样就能直接使用了

相关文章

  • (iOS - Objective-C ) UIFont - 自定

    2018.9.19 参考:iOS使用自定义字体的方法(内置和任意下载ttf\otf\ttc字体文件) 没办法,就是...

  • iOS开发之自定义字体

    iOS 开发中文字默认使用的是系统的字体,但如果需要自定义字体,方法也很简单。 实现步骤 下载需要的字体,并将字体...

  • Xcode如何使用字体文件

    iOS开发中系统自带的字体不能满足需求,需要自定义字体,应该怎么做呢?手把手教你使用 1.拿到下载到的字体文件,拖...

  • iOS在项目中使用自定义字体

    iOS 自定义字体是指,使用自己从外部导入的字体库使用在对应的文本显示中。 一般的iOS自定义的字体库是 .ttf...

  • 动态注册字体

    项目中如果只是使用几种固定的字体,可以本地添加自定义字体,可以参考iOS加入自定义字体库[https://www....

  • iOS下载使用自定义字体

    使用内置字体就不说了,这里说一下如何下载并使用自定义的字体第一步,下载字体首先得要下载ttf文件,下面代码中的di...

  • iOS在应用中添加自定义字体

    iOS在应用中添加自定义字体 一、在应用中添加自定义字体的步骤 1、网上提供的字体库有很多,下载完成后,将其导入工...

  • IOS 加载自定义字体

    IOS加载自定义的字体需要点活儿Xcode自带字体样式查询:http://iosfonts.com/1.下载所需要...

  • iOS开发常用设置

    目录:[TOC]妈呀,怎么还不支持目录语法呢!!!@简叔 一、UI类 1、自定义字体使用   iOS自定义字体支持...

  • React Native iOS端 使用自定义字体时Unreco

    React Native iOS端 使用自定义字体时Unrecognized font family 解决方法:看...

网友评论

  • Monster_Lai:你好 我下载字体到document自己创建的一个文件夹中 但是使用该字体无效。这个字体的路径是有什么要求吗?
    削土豆的剑客:应该是没要求的,你在文件路径看一下有没有下载成功
  • 卓敦:楼主,我要怎么判断这个字体文件是否已经下载过呢,有没有在缓存里面,有的话就直接使用不用下载
    削土豆的剑客:@卓敦 是的
    卓敦:@削土豆的剑客 你文章最下面的那段代码是注册字体吗,是每次使用都要注册一次吗
    削土豆的剑客:@卓敦 这个字体文件不是系统自带的,下载前根据文件名在沙盒找,找到就直接用,没有就下载,因为文件都是下载到沙盒里的
  • afe14121f6b2:为什么我一赞赏就把我的微信挂上去了?
    削土豆的剑客:@afe14121f6b2 不清楚。。。。。
  • c2da15b01a90:土豆学长加油么么哒

本文标题:iOS下载使用自定义字体

本文链接:https://www.haomeiwen.com/subject/llgmtxtx.html