IconFontsKit 1.2.0

IconFontsKit 1.2.0

测试测试通过的
Lang语言 Obj-CObjective C
许可 MIT
Released最新发布2016年5月

未声明 维护。



摘要

IconFontsKitFontAwesomeKit 的启发。

Sample Explorer Selector

支持的图标字体

字体标识符 版本 图标数 字体大小 许可 描述
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 方法。
  • 您自定义字体的图标类型是图标的 Unicode 十六进制值。例如,图标代码 \uf100 的类型是 0xf100
  • 请注意:您可以使用 FontelloFontasticIcoMoon app 或其他出色的服务生成图标字体。
  • 有关示例,请参见 "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 文件。

注意:每个图标字体都有自己的许可协议。