ios - 在原生 iOS7 应用程序中使用 fontello 字体

标签 ios fonts nsattributedstring

我该如何从这里获取一个角色:http://fontello.com/并在 native iOS 7 应用程序中使用它以在 UILabels 或 UITextViews 中使用?

这是否适合 NSAttributedString 的使用?

有人有做此类工作的例子吗?

谢谢

最佳答案

无论有或没有NSAttributedString,这都很好。您可以将 NSFontNameAttribute 应用于特定范围,也可以仅在 UILabel 上分配 font 属性。自定义字体与任何其他类型的字体没有什么不同(有点……稍后会详细介绍)。

所以基础知识。创建您的字体文件。您关心的是TTF(True Type Font)。将其复制到您的应用程序中,并确保在“复制”阶段将其复制。 (如果您只需将其放入应用程序并将其添加到目标,它就会自动执行此操作。)

将其添加到您的目标的信息 Pane 中。这是“应用程序提供的字体”设置,它是一个数组:

enter image description here

然后你就可以加载字体了:

self.label.font = [UIFont fontWithName:@"myfont" size:14.0];

请记住,信息中的名称是文件名。 fontWithName:size: 中的名称是字体名称。它们可能不同,特别是当您重命名文件时;这不会重命名字体。

Fontello 会告诉您每个字形的代码。如果显示 U+E800,您可以将其作为 @"\ue800" 放入 NSString 中。

您可能会创建不包含所有字符的字体(内置字体也会发生这种情况,但您通常不会注意到或担心它)。您可以轻松地将这些内容混合到“普通”文本中,例如:

self.label.text = @"Hey! \uE800";

如果 iOS 在您的字体中找不到 H 字符,它将回退到默认字体。您可能需要更多的控制,以便您可以混合和匹配字体并为每个字符选择正确的字体。如果您想要这种控制,请参阅 Session 223: Using Fonts with Text Kit来自 WWDC 2013。其中一些仅适用于 iOS 7。对于 iOS 6,您可能必须使用 NSAttributedString 并正确设置每个范围的字体。

关于ios - 在原生 iOS7 应用程序中使用 fontello 字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19368024/

相关文章:

ios - 使用 SDWebImage 加载图像时出现问题

html - 如何在不使用字体粗细属性的情况下在 Firefox 中呈现 Open Sans Semibold

swift - 从 NSAttributedString 中提取表

ios - 计算 UILabel 中可见文本的范围

ios - 将带有图像的 NSAttributedString 保存到 RTF 文件时遇到问题

ios - 在两个 View Controller 之间传递mapkit数据

objective-c - 混淆可重用 iOS 包的 Objective-C 代码

css - 如何更改 .NET MAUI Blazor 元素中的默认字体?

android - Android 中的 Helvetica 替代方案

ios - 恢复购买工作,但它不断循环