【发布时间】:2012-04-20 11:48:54
【问题描述】:
我一直在使用 iOS 中的自定义字体,并且发现其中的大部分内容都不会在我的任何设备上显示自定义字体。
- 我已将字体添加到项目文件的根目录。
- 将其添加到数组或“应用程序提供的字体”下的 info.plist 文件中
- 检查了原始文件和我添加到 info.plist 文件中的大小写是否相同。
- 使用
[playMenuBtn.titleLabel setFont:[UIFont fontWithName:@"fontname" size:40]];使字体正常工作。
当我在模拟器中运行我的应用程序时,一切看起来都很好并且可以正常工作。但是,一旦我在物理设备上运行它,它就会以默认大小显示默认字体。
如果我使用:UIFont *font = [UIFont fontWithName:@"VINCASTENCIL" size:20];
NSLog(@"Font:%@", font);
然后模拟器返回:
2012-04-07 01:10:41.544 AppName[47412:f803] Font:<UICFFont: 0x683e040> font-family: "VINCA STENCIL"; font-weight: normal; font-style: normal; font-size: 20px
设备返回的位置:
2012-04-07 00:42:56.358 AppName[5079:707] Font:(null)
我已经尝试了所有方法,包括尝试 FontBook 告诉我可以命名字体的所有名称。我知道它是免费的,而且没有许可证。
任何帮助都将不胜感激,因为它让我发疯了,我真的不想为所有这些使用图像,因为本地化会很痛苦!
【问题讨论】:
-
字体是否与iOS应用一起打包?
-
[UIFont familyNames]是否列出了您添加的字体? -
哪些扩展有字体文件? TTF 还是 ttf?
-
@TheDeveloper 我已经将字体拖到 Xcode 的项目管理器中,它出现在我的资源列表中。这就是你说的打包的意思吗?
-
@MrMage 我尝试添加:
NSArray *fontArray = [UIFont familyNames]; NSLog(@"Font FamilyNames:%@", fontArray);在模拟器上,我的字体出现在列表中,而在设备上却没有。
标签: ios iphone cocoa-touch uifont custom-font