我将如何从这里获取一个字符:http: //fontello.com/并在本机 iOS 7 应用程序中使用它以在 UILabels 或 UITextViews 中使用?
这是 NSAttributedString 的适当用途吗?
有人有做这种工作的例子吗?
谢谢
我将如何从这里获取一个字符:http: //fontello.com/并在本机 iOS 7 应用程序中使用它以在 UILabels 或 UITextViews 中使用?
这是 NSAttributedString 的适当用途吗?
有人有做这种工作的例子吗?
谢谢
这很好,有或没有NSAttributedString
. 您可以应用NSFontNameAttribute
到某些范围,也可以只font
在UILabel
. 自定义字体与任何其他类型的字体没有什么不同(有点……稍后再说)。
所以基础知识。创建你的字体文件。您关心的部分是 TTF(True Type 字体)。将其复制到您的应用程序中,并确保它在“复制”阶段被复制。(如果您将其放入应用程序并将其添加到目标,它会自动执行此操作。)
将其添加到目标的信息窗格中。这是“应用程序提供的字体”设置,它是一个数组:
然后你可以加载字体:
self.label.font = [UIFont fontWithName:@"myfont" size:14.0];
请记住,Info 中的名称是文件名。中的名称fontWithName:size:
是字体名称。它们可能不同,尤其是当您重命名文件时;不会重命名字体。
Fontello 会告诉你每个字形的代码。如果它说 U+E800,你会把它放在NSString
as 中@"\ue800"
。
您可能会创建其中不包含每个字符的字体(内置字体也会发生这种情况,但您通常不会注意到或担心它)。您可以轻松地将这些内容混合到“普通”文本中,例如:
self.label.text = @"Hey! \uE800";
如果 iOS 在您的字体中找不到字符H
,它将回退到默认字体。您可能需要更多的控制权,以便您可以混合和匹配字体,并为每个字符选择正确的字体。如果您想要这种控制,请参阅Session 223: Using Fonts with Text Kit from WWDC 2013。其中一些仅适用于 iOS 7。在 iOS 6 中,您可能必须使用NSAttributedString
并正确设置每个范围的字体。
在 Swift 中,步骤完全相同,但最终代码现在如下所示:
self.label.text = "Hey! \u{E800}"