iOS使用自定义字体
2012-09-17 15:06 v2m 阅读(1395) 评论(0) 编辑 收藏 举报准备:你的自定义字体文件-〉ttf,odf字体文件。
现在网上一般下的中文字体文件都是ttc格式的,这个需要转换一下,网上有很多转换工具,不过都是windows下面的。(ttc就是多个ttf压在一起形成的)
使用:
1.加入工程中
2.得到UIFont来使用
方法一:
Info.plist中添加Fonts provided by application项,加入一个item值为刚刚添加的字体文件文件名。
如果不知道这个字体的FontName,可以使用Mac OS中的 字体册 程序查看。
[textField setFont:[UIFont fontWithName:@"Amelia BT" size:12]];
方法二:
直接使用代码来获取UIFont
-(UIFont*)customFont {// 你的字体路径 NSString *fontPath = [[NSBundle mainBundle] pathForResource:@"Amelia BT" ofType:@"ttf"]; NSURL *url = [NSURL fileURLWithPath:fontPath]; CGDataProviderRef fontDataProvider = CGDataProviderCreateWithURL((__bridge CFURLRef)url); if (fontDataProvider == NULL) return nil; CGFontRef newFont = CGFontCreateWithDataProvider(fontDataProvider); CGDataProviderRelease(fontDataProvider); if (newFont == NULL) return nil; NSString *fontName = (__bridge NSString *)CGFontCopyFullName(newFont); UIFont *font = [UIFont fontWithName:fontName size:12]; CGFontRelease(newFont); return font; }
修正:
1.方法二中如果要使用UIFont,那么 不添加 Fonts provided by application项是不可以的。如果仅仅使用
CGFontRef,那么可以不添加。
2.测试中没有一次用ttc提取的ttf成功改变字体(中文的),但是下载的源文件就是ttf的都成功更改了字体。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架