32

所以我正在尝试使用这种字体http://fortawesome.github.com/Font-Awesome/。我已将字体添加为资源并将其放入 plist 文件中。这是我使用它的方式:

[homeFeedButton.titleLabel setFont:[UIFont fontWithName:@"fontawesome" size:8]];
NSString *str = [NSString stringWithFormat:@"%C", @"\f030"];

但是,这不起作用。有谁知道如何在 Xcode 项目中使用这种字体?

4

17 回答 17

18

斯威夫特

字体真棒备忘单。

关于如何在 Xcode 项目中集成名为“Font Awesome”的字体的教程。

向 iOS 应用程序添加自定义字体的常见错误

let label = UILabel(frame: CGRectMake(0, 0, 100, 100))
label.font = UIFont(name: "FontAwesome", size: 40)
let myChar: UniChar = 0xF180
label.text = String(format: "%C", myChar)
self.view.addSubview(label)
于 2015-06-15T13:31:23.830 回答
15

使用 XCode 进行 FA 的最佳解决方案:

  1. 从http://fontawesome.io/cheatsheet/复制您想要的图标(我的意思是标记并复制图标本身):

在此处输入图像描述

  1. 然后在情节提要中添加标签,并在其属性上:

在此处输入图像描述

  • RED - 选择 FontAwesome 作为家人
  • 绿色 - 设置您想要的尺寸
  • 蓝色 - 在此处粘贴您在第一步中复制的内容。(不要担心问号 - 在视图中你应该正确地看到它)。

而已。

如果您需要更改代码中的图标 - 您也可以在代码中粘贴第一步: 在此处输入图像描述

于 2017-01-21T10:30:20.457 回答
14

不确定你是否能正常工作,但现在 github 上有几个不错的项目:

https://github.com/alexdrone/ios-fontawesome - 它为您提供了一个 NSString 类别,它提供了使用 FontAwesome 的基本帮助。

https://github.com/leberwurstsaft/FontAwesome-for-iOS它为您提供了一个 NSString 类别fontAwesomeIconStringForIconIdentifier 和一个UIImageView子类:FAImageView

于 2013-03-05T23:18:09.607 回答
8

这是因为您的+[NSString stringWithFormat:]方法包含 unichar 的文字,而不是 NSString,它是一个使用 %@ 的对象,这是题外话,因为文字化文字是多余的。

于 2012-05-13T07:01:15.813 回答
7

您可以通过将文字代码字符串附加到\u.

例如,您可以使用\f030以下代码段在您的 iOS 应用程序中使用。

[[[UILabel alloc] initWithFrame:CGRectZero] setText:@"\uf030"];

于 2012-10-09T01:32:44.693 回答
6

所以,我可以同时为 Swift 和 Objective C 回答这个问题。(这里使用 Swift 3.0)

添加和配置字体真棒文件和编辑故事板

只需从此处下载 font-awesome:fontawesome.io 并将 .ttf 添加到您的项目中

查看下面的图片以获取更多详细信息...

按照图片中给出的顺序

现在是编码部分

斯威夫特 3.0

let iconUniChar: UniChar = 0xf113  
textLabel.text = String(format: "%C", iconUniChar) 

目标 C

_textLabel.text = [NSString stringWithFormat:@"%C", 0xf113];

而且,如果您仍然面临麻烦,这里是

整个源代码

于 2017-09-26T12:40:23.933 回答
5

您还可以使用库FontAwesome+iOS for iOS

那么你只需要使用这段代码:

label.text = [NSString fontAwesomeIconStringForIconIdentifier:@"icon-github"];
// or:
label.text = [NSString fontAwesomeIconStringForEnum:FAIconGithub];
于 2014-03-21T07:45:34.463 回答
3

下面是使用 FontAwesome 将图像设置为 UIButton 的代码

 UIButton *btnMenu = [UIButton buttonWithType:UIButtonTypeCustom];
 btnMenu.frame = CGRectMake(0, 0, 40, 32);
 [btnMenu setTitle:@"\uf0c9" forState:UIControlStateNormal];
 [btnMenu setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
 [btnMenu.titleLabel setFont:[UIFont fontWithName:@"FontAwesome" size:16]];
于 2015-09-25T06:30:50.860 回答
2

NSLog 使用以下代码记录您的所有字体并提供确切名称。

 NSArray *familyNames = [[NSArray alloc] initWithArray:[UIFont familyNames]];
    NSArray *fontNames;
    NSInteger indFamily, indFont;
    for (indFamily=0; indFamily<[familyNames count]; ++indFamily)
    {
        NSLog(@"Family name: %@", [familyNames objectAtIndex:indFamily]);
        fontNames = [[NSArray alloc] initWithArray:
                     [UIFont fontNamesForFamilyName:
                      [familyNames objectAtIndex:indFamily]]];
        for (indFont=0; indFont<[fontNames count]; ++indFont)
        {
            NSLog(@"    Font name: %@", [fontNames objectAtIndex:indFont]);
        }
    }
于 2012-07-12T05:47:47.820 回答
1

我正在寻找 Swift3 的帮助程序库,发现这是一个非常简单且有效的解决方案https://github.com/Syndicode/FontAwesomeKitSwift3。它有动画,可以为像我这样的新手解释如何包含它并快速使用它。

于 2016-11-01T14:36:48.127 回答
0

以下是单元格标签文本的示例:

cell.textLabel.font = [UIFont fontWithName:@"FontAwesome" size:12];
cell.textLabel.text = @"\uf000";

确保按照上面的建议获得正确的字体名称。

于 2013-06-14T15:31:43.603 回答
0

不确定这个答案是否对查看您发布问题的日期有用....但是为了帮助可能正在做这件事的人,

[self.homefeedbutton setTitle:@"o" forState:UIControlStateNormal]; [self.homefeedbutton.titleLabel setFont:[UIFont fontWithName:@"fontawesome" size:30]];

setTitle:@"o" o 是字体的名称,不要使用 unichar,而是将字体重命名为其他更可取的字母,例如,如果您查看 fontello.com ,选择图标,然后单击自定义代码选项卡,在你的图标顶部有一个小框,将其更改为任何字母....

喊的不够清楚,我会尝试用不同的方式解释。

于 2014-10-15T15:00:06.517 回答
0

我用 swift 语言制作了一个库,可以轻松集成UILabel,UIButtonUIBarButtonItem. 还支持 Pod。字体真棒斯威夫特

于 2015-07-15T12:06:32.507 回答
0

这可能对其他人有所帮助......我的项目中有大约 90% 的 Font Awesome 图标在工作,除了少数我无法让它们正确显示。他们会改为显示“...”图标。

在研究了 Objective-C 中的 unicode 字符几个小时后,我意识到我找错了树!“...” 不是 FontAwesome 图标,它是 UIKit 告诉我 UILabel 的框架太小/字体太大而无法显示文本字符串!哦。

于 2015-09-19T23:20:59.743 回答
0

如果有人想知道,请在 .m 文件中导入以下内容。

import "NSString+FontAwesome.h"
于 2018-01-13T06:54:56.933 回答
-1

FontAwesome 字体名称如下:FontAwesome

试试[UIFont fontWithName:@"FontAwesome" size:8]]

观看此视频教程可能会有所帮助:http: //youtu.be/J1EHAS0icv0

于 2014-09-27T18:17:41.383 回答
-1

对于使用自定义字体,请确保您在 plist 和此处给出的字体名称具有相同的真实名称。我的意思是字体名称应该与通常具有的相同。不要尝试修改name.检查您使用的字体名称是否真的是该字体的名称。

谢谢桑杰

于 2012-05-13T15:25:42.017 回答