我正在设计一个 iOS (SpriteKit) 应用程序,如果我将 SKLabelNode
添加到现场。但是,当我在模拟器中运行该应用程序时,会出现替代字体。
据我所知,这种字体是 Xcode 自带的。我当然没有购买它,尽管它可能作为另一个应用程序的一部分出现。
使用像 Chalkduster 这样的字体似乎可以正常工作,不需要额外的工作。
所以我想知道这种字体是否需要任何特殊操作才能被识别(例如,它是否像自定义字体)或者是否存在其他问题。
此外,如果这不是标准的 Xcode 字体,我会不会因为在商业应用程序中使用它而遇到麻烦?
编辑:如果答案可以说明 (a) 这种字体在他们的 Xcode 版本中是否可见以及 (b) 它是否有效,我们将不胜感激。
EDIT2:好吧,再研究一下。我下载并安装了一个真正的(免费)自定义字体,它现在出现在字体选择器中,但它实际上并没有由我的应用程序呈现。
所以看起来 Xcode 显示了系统上安装的所有字体,无论它们是否可以被您的应用程序/目标设备访问。但是,您只能按照以下答案中描述的过程使用它。这可能是一件好事,因为它会阻止您意外使用您已获得但可能没有许可证的字体。但是有点烦人的是,字体选择器中提供了您不能使用的字体。
最佳答案
Skia 不是 iOS 附带的字体的一部分。您可以从 iosfonts.com 获得所有预装 iOS 字体的列表。或 wptechonlogy.com
您可以通过执行以下操作列出设备上所有已安装的字体:
NSArray *fontFamilies = [UIFont familyNames];
for (int i = 0; i < [fontFamilies count]; i++) {
NSString *fontFamily = [fontFamilies objectAtIndex:i];
NSArray *fontNames = [UIFont fontNamesForFamilyName:[fontFamilies objectAtIndex:i]];
NSLog (@"%@: %@", fontFamily, fontNames);
}
要安装字体,您可以使用类似 iOS Font Maker 的应用程序或使用代码自己完成。涉及的步骤是:
- 将您的字体包含在您的 Xcode 项目中。
- 确保它们包含在目标中。
- 检查您的字体是否作为资源包含在您的包中。
- 在您的应用程序 plist 中包含您的 iOS 自定义字体。
- 使用 UIFont 并指定字体的名称。
Codewithchris.com有关于如何添加自定义字体的分步教程。
关于ios - 如何(或是否)在 iOS 应用程序中使用 Skia(或任何未知)字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29878102/