[英]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中 :
关于如何在Xcode项目中集成名为“Font Awesome”的字体的教程。
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的最佳解决方案:
而已。
不确定你有没有正常工作,但现在github上有几个不错的项目:
https://github.com/alexdrone/ios-fontawesome - 它为您提供NSString的类别,它使用FontAwesome提供基本帮助。
和https://github.com/leberwurstsaft/FontAwesome-for-iOS ,它为您提供了带有fontAwesomeIconStringForIconIdentifier
和UIImageView
子类的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:fontawesome.io并将.ttf添加到您的项目中
查看下面的图片了解更多详情......
let iconUniChar: UniChar = 0xf113
textLabel.text = String(format: "%C", iconUniChar)
_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,选择图标,然后单击自定义代码选项卡,打开你最喜欢的图标有一个小盒子,把它改成任何一个字母....
如果说不够清楚,我会尝试以不同的方式解释。
我用快速语言创建了一个库,可以轻松集成UILabel
, UIButton
和UIBarButtonItem
。 还支持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.