首页 > 代码库 > NT_iOS笔记—iOS用户添加字体后调用
NT_iOS笔记—iOS用户添加字体后调用
iOS需要用到新字体,直接添加就行了,之前写过iOS 添加字体
但是当字体文件太多、太大、或者没有用户喜欢的字体怎么办?
让用户手动的下载字体或者导入字体。
那我们怎么调用这些字体呢?
可以通过这个方法找到所有字体
NSArray *familyNames =[[NSArray alloc]initWithArray:[UIFont familyNames]]; NSArray *fontNames; NSInteger indFamily, indFont; for(indFamily=0;indFamily<[familyNames count];++indFamily) { NSLog(@"Family name: %@", [familyNames objectAtIndex:indFamily]); fontNames =[[NSArray alloc]initWithArray:[UIFont fontNamesForFamilyName:[familyNames objectAtIndex:indFamily]]]; for(indFont=0; indFont<[fontNames count]; ++indFont) { NSLog(@"Font name: %@",[fontNames objectAtIndex:indFont]); } }你会发现找不到你所添加的字体。那是当然了...路径不对呀。
没有那就添进去
NSString * fontPath = [DOCUMENT_PATH stringByAppendingPathComponent:@"Fonts/tinghei.ttf"]; NSURL * url = [NSURL fileURLWithPath:fontPath]; CGDataProviderRef fontDataProvider = CGDataProviderCreateWithURL((__bridge CFURLRef)url); CGFontRef newFont = CGFontCreateWithDataProvider(fontDataProvider); NSString * newFontName = (__bridge NSString *)CGFontCopyPostScriptName(newFont); CGDataProviderRelease(fontDataProvider); CFErrorRef error; CTFontManagerRegisterGraphicsFont(newFont, &error); CGFontRelease(newFont);
ok,完成,可以验证一下调用上面的方法查看一下是否有刚添加的字体。
现在可以调用了,字体的名称就是 ”newFontName“。
NT_iOS笔记—iOS用户添加字体后调用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。