iOS加载动态自定义字体
iOS加载动态自定义字体
NSString *cachePath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES).firstObject;
NSLog(@"源文件目录: %@", cachePath);
NSString * fontPath = [NSString stringWithFormat:@"%@/%@",cachePath, @"xxx.ttf"];
CGDataProviderRef fontDataProvider = CGDataProviderCreateWithFilename([fontPath UTF8String]);
CGFontRef customfont = CGFontCreateWithDataProvider(fontDataProvider);
CGDataProviderRelease(fontDataProvider);
NSString *fontName = (__bridge NSString *)CGFontCopyFullName(customfont);
CFErrorRef error;
CTFontManagerRegisterGraphicsFont(customfont, &error);
if (error){
// 为了可以重复注册
CTFontManagerUnregisterGraphicsFont(customfont, &error);
CTFontManagerRegisterGraphicsFont(customfont, &error);
}
CGFontRelease(customfont);
UIFont *font = [UIFont fontWithName:fontName size:28];