我最近发布了Why is this label appearing unstyled? ,除了试图解决问题之外,还解决了一些好评如潮的问题,包括 Use custom fonts in iPhone App等。
我所做的是:
安装 Scurlock.TTF ,将其安装在“支持文件”文件夹下。 (注意:这是一个最好的近似值,因为上面引用的问题在其屏幕截图中显示了“资源”文件夹,并表示一定要将字体放入“资源”文件夹中。也许自发布以来情况已经发生了变化?)
编辑我的 info.plist 文件以添加:
<key>Fonts provided by application</key> <array> <string>Scurlock.TTF</string> </array>
尝试通过以下方式访问 Scurlock:
UIFont *font = [UIFont fontWithName:@"Scurlock" size:40]; UIFont *font = [UIFont fontWithName:@"Scurlock.TTF" size:40];
运行根据Why is this label appearing unstyled?向我建议的代码:
for (NSString* family in [UIFont familyNames]) { NSLog(@"%@", family); for (NSString* name in [UIFont fontNamesForFamilyName: family]) NSLog(@" %@", name); }
这给出了一长串字体,其中包括一个零,我怀疑它可能是一个损坏的家族,可能是一个损坏的 Scurlock。
我想检查字体(上面链接的)是否已损坏(Font Squirrel 从中生成 webfont.zip 几乎没有问题,这至少是一个健全性检查),或者旧文章是否推荐 - 所有这些都非常重要比 iOS 7 更早——给出了一个过时的答案。
在 Xcode 5 和 iOS 7 中,我如何安装字体(除了在“支持文件”下列出它之外的任何地方)?通知系统它的存在(例如定义 plist 的唯一“应用程序提供的字体”值) ),并使用我的代码中的字体,或者以其他方式执行一些适用于我的系统和 iOS 7 的操作?
最佳答案
您的 info.plist 应如下所示:
<key>UIAppFonts</key>
<array>
<string>Scurlock.TTF</string>
</array>
关键是UIAppFonts
。如果您是说英语的用户,Xcode 会将其显示为“应用程序提供的字体”,但它不是正确的 info.plist 键。
关于ios - iOS 应用程序安装自定义 TrueType 字体的向后兼容性是否已被破坏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19167658/