如何使用字体显示图标? ios

How to display icon using font ? ios

我得到一个包含字体的文件(请找到附件),这个字体应该根据代码显示图标。 但我没有成功显示任何带有这种字体的图标。这是我的代码:

    iconTest = UILabel();
    iconTest.frame = CGRectMake(0, 0, 100, 100);
    onTest.center = self.view.center;

    iconTest.font = UIFont(name: "icomoon", size:16.0);
    iconTest.text = "e906";

使用字体显示图标的正确方法是什么!

download font svg file

您必须将文本 属性 设置为:

iconTest.text = "\u{e906}";

不要忘记在您的应用中 register 您的自定义字体。

我在我的一些项目中使用图标字体。我创建了一个项目来轻松使用图标字体。这个项目的README是用中文写的。但是演示项目会清楚地显示所有内容。 https://github.com/JohnWong/IconFont

通过设置文本,UILabel 中始终使用图标字体。但我认为从字体创建 UIImage 更灵活。这就是我创建这个项目的原因。 通过设置项目注册字体的方法在martin提供的答案中。这是一种通过代码注册字体的方法:https://github.com/JohnWong/IconFont/blob/master/IconFont/TBCityIconFont.m#L16

Icomoon.swift:使用带有 Swift 的 Icomoon 字体 - auto-generates 为每个图标键入安全枚举。

尽管它不是 IcoMoon,但这个库值得注意: https://github.com/0x73/SDevIconFonts

它集成了 FontAwesome、Ionicons、Octicons 和 Iconic 作为图标字体。

为他们分配代码就像:

label.font = UIFont.iconFontOfSize(.FontAwesome, fontSize: 50.0)
label.text = String.fontAwesomeIconWithName(.Twitter)

如前所述,您必须在应用的 Info.plist.

中注册字体文件

无论如何,关于 IcoMoon:我会使用上面的库作为起点。应该相当容易 (*) 将 IcoMoon 添加到一个 fork 中(或者作为 pull request 更好)。

(*) 从技术上讲,当我查看 https://github.com/0x73/SDevIconFonts/blob/master/SDevIconFonts/Classes/FontAwesome.swift.

时,添加像 .Twitter 这样的便捷快捷方式列表是一项相当昂贵的任务

按照以下步骤操作

1> 双击安装字体

2> 在 Xcode 中拖放字体并确保它们已添加到目标。

3> 设置关键字 - info.plist 中应用程序提供的字体并为项目添加字体名称(在关键字下)

4> 在故事板中为您的控件设置自定义字体类型

5> 在swift 3

let font = UIFont(name: "icomoon", size: 15)
    btnSignout.setTitle("\u{e913}", for: UIControlState.normal) // set font icon on UIButton
    btnSignout.titleLabel!.font =  font

// In objectiveC
_lbl.text =  [NSString stringWithUTF8String:"\ue92e"]; // set font icon on UILabel
_lbl.font =  [UIFont fontWithName:@"icomoon" size:16];