繁体   English   中英

如何在Xcode项目中集成和使用Font Awesome与Objective-C或Swift?

[英]How to integrate and use Font Awesome with Objective-C or Swift in an Xcode project?

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

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

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

Swift中

字体真棒Cheatsheet。

关于如何在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)

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

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

在此输入图像描述

  1. 然后在故事板中添加标签及其属性:

在此输入图像描述

  • RED - 选择FontAwesome作为系列
  • 绿色 - 设置所需的大小
  • 蓝色 - 粘贴您在第一步中复制的内容。 (不要担心问号 - 在视图中你应该正确看到它)。

而已。

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

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

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

https://github.com/leberwurstsaft/FontAwesome-for-iOS ,它为您提供了带有fontAwesomeIconStringForIconIdentifierUIImageView子类的NSString类别: FAImageView

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

你可以通过用\\u\u003c/code>加上它来使用文字代码字符串。

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

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

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

然后你只需要使用这段代码:

label.text = [NSString fontAwesomeIconStringForIconIdentifier:@"icon-github"];
// or:
label.text = [NSString fontAwesomeIconStringForEnum:FAIconGithub];

所以,我可以为Swift和Objective C解答它。 (在这里使用Swift 3.0)

添加和配置font-awesome文件和编辑Storyboard

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

查看下面的图片了解更多详情......

按照图像中给出的顺序进行操作

现在是编码部分

Swift 3.0

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

目标C.

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

并且,如果你仍然面临麻烦,那么

整个源代码

下面是使用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]];

使用以下代码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]);
        }
    }

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

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

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

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

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

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

setTitle:@“o”o是字体的名称,不要使用unichar,而是将字体重命名为其他更好的字母,例如,如果您检查fontello.com,选择图标,然后单击自定义代码选项卡,打开你最喜欢的图标有一个小盒子,把它改成任何一个字母....

如果说不够清楚,我会尝试以不同的方式解释。

我用快速语言创建了一个库,可以轻松集成UILabelUIButtonUIBarButtonItem 还支持Pods。 Font Awesome Swift

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

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

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

import "NSString+FontAwesome.h"

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

谢谢桑杰

FontAwesome字体名称如下:FontAwesome

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM