动态加载第三方字库
来源:互联网 发布:linux开机no such file 编辑:程序博客网 时间:2024/06/05 09:07
试了很多加载第三方字体的方法都会有内存不泄露的问题, 下面是调试后的代码:
+(NSArray*)getFontArray:(NSString*)path size:(CGFloat)size
{
NSMutableArray *fontArray = [[NSMutableArrayalloc] initWithObjects:[UIFontsystemFontOfSize:size], nil];
NSArray *file = [[NSFileManagerdefaultManager] subpathsOfDirectoryAtPath: patherror:nil];
for (NSString *fileNamein file) {
NSString *filePath = [NSStringstringWithFormat:@"%@/%@",path,fileName];
// [self registerFont:filePath];
NSURL *fontUrl = [NSURLfileURLWithPath:filePath];
CGDataProviderRef fontDataProvider =CGDataProviderCreateWithURL((__bridgeCFURLRef)fontUrl);
CGFontRef fontRef =CGFontCreateWithDataProvider(fontDataProvider);
CGDataProviderRelease(fontDataProvider);
CTFontManagerRegisterFontsForURL((__bridgeCFURLRef)fontUrl, kCTFontManagerScopeNone,NULL);
NSString *fontName =CFBridgingRelease(CGFontCopyPostScriptName(fontRef));
if (fontName) {
UIFont *font = [UIFontfontWithName:fontName size:size];
if(font){
[fontArray addObject:font];
}
}
CTFontManagerUnregisterFontsForURL((__bridgeCFURLRef)fontUrl, kCTFontManagerScopeNone,NULL);
CGFontRelease(fontRef);
}
return fontArray;
}
- 动态加载第三方字库
- 关于android text view 加载第三方字库导致内存泄漏问题
- cocostudio使用第三方字库ttf
- cmake 入门编程之动态加载第三方库
- Android动态加载第三方APK的View研究过程
- 动态加载第三方activity笔记(1)--加载三方页面
- 第三方加载图片
- 第三方加载图片
- 加载第三方图片
- cocos2dx使用第三方字库.ttf,需要注意的事项
- Android 全局替换第三方字库(自定义字体)
- 加载字库
- QT 加载第三方库
- python 加载第三方库
- codeIgniter加载第三方库
- android 加载第三方库
- 图片加载 第三方 KVO
- 第三方图片加载库
- 083.Argv 主函数形参
- (NO.00001)iOS游戏SpeedBoy Lite成形记(二十三)
- JQuery中AJAX的常用方式
- 【JavaScript】兼容IE6的收起折叠效果
- 在电视端网络视频播放加载一个视频预览的方法(电视基于安卓系统)
- 动态加载第三方字库
- lldb 常用命令整理
- js中的原形链继承机制
- ADT中AVD的intel Atom(x86)配置
- 深入剖析授权在WCF中的实现
- Eclipse常用快捷键使用
- Android之UI开源框架
- sicily1001 全排列(升序)
- Android Activity切换动画(解决back键后退失效问题)