IconFontsKit 受 FontAwesomeKit 的启发。
字体标识符 | 版本 | 图标数 | 字体大小 | 许可 | 描述 |
---|---|---|---|---|---|
FontAwesome | 4.5.0 | 605 | 110 KB | SIL OFL 1.1 | Font Awesome |
Octicons | 3.5.0 | 165 | 31 KB | SIL OFL 1.1 | GitHub 的图标 |
FoundationIcons | 3.0 | 283 | 57 KB | ? | Foundation Icon Fonts 3 |
Ionicons | 2.0.1 | 733 | 189 KB | MIT | Ionic Framework 的官方图标字体。 |
MaterialDesignIcons | 1.4.57 | 1457 | 208 KB | SIL OFL 1.1 | Material Design Icons |
ElusiveIcons | 2.0.0 | 304 | 80 KB | SIL OFL 1.1 | Elusive Icons |
MaterialIcons | 2.2.0 | 932 | 128 KB | CC-BY 4.0 | 由 Google 为 Material design 制作。 |
ZocialButtons | 1.2.0 | 102 | 26 KB | MIT | 社交按钮 |
Typicons | 2.0.7 | 336 | 100 KB | SIL OFL 1.1 | |
OpenIconic | 1.1.1 | 223 | 28 KB | SIL OFL 1.1 | 开源的 Iconic 兄弟。 |
MetrizeIcons | 1.0 | 300 | 63 KB | 免费使用 | Metro-Style Icons |
Meteocons | 1.0 | 47 | 18 KB | 免费使用 | 一组天气图标 |
MFGLabsIconset | 1.0 | 186 | 56 KB | SIL OFL 1.1 | MFG Labs 图标集 |
LineariconsFree | 1.0.0 | 170 | 56 KB | CC BY-SA 4.0 | Linearicons Free 版本 |
IcoMoonFree | 1.0.0 | 491 | 95 KB | CC BY 4.0 或 GPL | IcoMoon Free Pack |
HawconsFilled | 1.0 | 517 | 107 KB | 免费使用 | Hawcons filled 风格,包括文档、运动、天气、表情、手势、文件类型等图标。 |
HawconsStroke | 1.0 | 518 | 138 KB | 免费使用 | Hawcons stroke 风格,包括文档、运动、天气、表情、手势、文件类型等图标。 |
Dashicons | 3.8 | 232 | 42 KB | GPLv2 | Dashicons 是 WordPress 后台的官方图标字体。 |
Linea | 1.0 | 716 | 125 KB | CCBY | 由 Dario Ferrando 设计的免费轮廓图标集。 |
Entypo | 1.0 | 411 | 76 KB | CC BY-SA 4.0 | Entypo+ 是质量上乘的免费图标的第三版。 |
ThemifyIcons | 1.0 | 352 | 79 KB | 免费使用 | 手工绘制的图标,灵感来自 Apple iOS 7。 |
StreamlineFree | v2 | 100 | 38 KB | 许可 | Streamline Free Pack,免费的 iOS 8 矢量图标 |
Stroke7Icons | 1.2 | 202 | 58 KB | 免费使用 | 来自 Pixeden 的 iOS 7 灵感的瘦线条图标系列 |
Devicons | 1.8.0 | 171 | 147 KB | MIT | 开发者的图标字体。 |
LigatureSymbols | 2.11 | 239 | 84 KB | SIL OFL 1.1 | 木本和也的连字符符号 |
水滴图标 | 1.0 | 95 | 21 KB | 免费使用 | 一款完全免费的矢量大纲图标字体,由Amit Jakhu制作。 |
OpenWeb图标 | 1.4.0 | 104 | 40 KB | SIL OFL 1.1 | OpenWeb图标 |
Genericons | 3.4.1 | 147 | 22 KB | GPLv2 | 设计简洁、简单,保持通用美学。 |
地图图标 | 3.0.0 | 175 | 48 KB | SIL OFL 1.1 | 适用于谷歌地图的图标字体。 |
天气图标 | 2.0.10 | 590 | 100 KB | SIL OFL 1.1 | 天气、航海和气象相关的图标 |
pod 'IconFontsKit'
安装所有图标字体。
pod 'IconFontsKit/{Font Identifier}'
安装特定的图标字体,例如 pod 'IconFontsKit/FontAwesome'
。
可以通过以下三种方式创建图标: 代码 如 @"\uf179"
,类型 如 IFFAApple
,标识符 如 @"fa-apple"
。
推荐使用 代码 和 类型 方式。
IFFontAwesome *faIcon = [IFFontAwesome iconWithCode:@"\uf17b" fontSize:20.0];
IFIonicons *ionIcon = [IFFontAwesome iconWithType:IFIIWifi fontSize:20.0];
IFOcticons *octIcon = [IFOcticons iconWithIdentifier:@"octicon-gift" fontSize:20.0];
IFIcon 是在 NSAttributedString
上实现的,并提供多种属性访问方法,例如
- (NSDictionary *)attributes;
- (void)addAttribute:(NSString *)name value:(id)value;
- (void)removeAttribute:(NSString *)name;
- (void)setAttributes:(NSDictionary *)attributes;
您可以使用 -[IFxxxIcon imageWithSize:]
或 +[IFxxxIcon imageWithType:color: xxx]
获取图标图像。
UIImage *image = [IFFontAwesome imageWithType:IFOIArrowRight color:nil imageSize:CGSizeMake(30, 30)];
使用 +[IFxxxIcon fontWithSize:]
获取图标字体实例。
要在一个图像上堆叠多个图标,请使用 +[UIImage if_imageWithStackedIcons:(NSArray <IFIcon *>*)icons imageSize:(CGSize)imageSize]
。这些图标默认情况下将水平和垂直居中。您可以通过设置 drawingPositionAdjustment
属性来调整每个图标的绘制偏移。
第一个图标将在底部绘制,最后一个图标将在顶部绘制。
IFFontAwesome *container = [IFFontAwesome iconWithType:IFFASquareO fontSize:100.0 color:[UIColor colorWithWhite:0.88 alpha:1.0]];
container.drawingPositionAdjustment = UIOffsetMake(0, 4);
IFFontAwesome *forbidden = [IFFontAwesome iconWithType:IFFABan fontSize:70.0 color:[[UIColor redColor] colorWithAlphaComponent:0.6]];
IFFontAwesome *usbIcon = [IFFontAwesome iconWithType:IFFAUsb fontSize:50];
UIImage *stackedImage = [UIImage if_imageWithStackedIcons:@[container, usbIcon, forbidden] imageSize:CGSizeMake(100, 100)];
IFIcon
并实现 + (NSURL *)fontFileURL
方法。fontFileURL
的文件名不同,您还需要实现 + (NSString *)fontName
方法。+iconWithIdentifier:fontSize:
方法来创建图标,则还需要实现 + (NSDictionary *)allIcons
方法。\uf100
的类型是 0xf100
。有关示例,请参见 "IconFontsKitExample/MyFontIcons"。
// MyFontIcons.h
#import <IconFontsKit/IFIcon.h>
typedef NS_ENUM(IFIconType, MyFontIconsType) {
MFFacebookSquared = 0xa100,
MFChat = 0xa101,
MFEmoHappy = 0xa102,
MFThumbsUp = 0xa103,
MFThumbsUpAlt = 0xa104,
MFLinkExt = 0xa105,
MFVolumeUp = 0xa106,
MFCogAlt = 0xa107,
MFCode = 0xa108,
};
@interface MyFontIcons : IFIcon
@end
// MyFontIcons.m
#import "MyFontIcons.h"
@implementation MyFontIcons
+ (NSURL *)fontFileURL {
return [[[NSBundle mainBundle] resourceURL] URLByAppendingPathComponent:@"myfonticons.ttf"];
}
// Optional becase the font name is the same as the filename of font.
//+ (NSString *)fontName {
// return @"myfonticons";
//}
+ (NSDictionary *)allIcons {
return @{
@"facebook-squared": @"\ua100",
@"chat": @"\ua101",
@"emo-happy": @"\ua102",
@"thumbs-up": @"\ua103",
@"thumbs-up-alt": @"\ua104",
@"link-ext": @"\ua105",
@"volume-up": @"\ua106",
@"cog-alt": @"\ua107",
@"code": @"\ua108",
};
}
@end
IconFontsKit 在 MIT 许可下提供。有关更多信息,请参阅 LICENSE 文件。
注意:每个图标字体都有自己的许可协议。