你知道我如何能够在编译前将自定义字体动态添加到 iOS 而不将其添加到项目中吗?
我正在研究在应用程序运行时下载字体,然后动态加载以供使用的场景。
如果这是可能的,我想在加载它后将它用作 UIFont。
我已经搜索了一些可能性来做到这一点,发现我可以使用 CoreText 加载字体:
- (CTFontRef)newCustomFontWithFileName:(NSString *)fontFileName
ofType:(NSString *)type
andSize:(float)pointSize
{
NSString *fontPath = [[NSBundle mainBundle] pathForResource:fontFileName ofType:type];
NSData *data = [[NSData alloc] initWithContentsOfFile:fontPath];
CGDataProviderRef fontProvider = CGDataProviderCreateWithCFData((CFDataRef)data);
[data release];
CGFontRef cgFont = CGFontCreateWithDataProvider(fontProvider);
CGDataProviderRelease(fontProvider);
CTFontRef font = CTFontCreateWithGraphicsFont(cgFont, pointSize, NULL, NULL);
CGFontRelease(cgFont);
return font;
}
但是,这样做之后,是否可以将 CTFontRef 转换为 UIFont 以便在整个应用程序中使用?
请让我知道你们知道/想什么!:)