/SwiftIconFont

Icons fonts for iOS (FontAwesome, Iconic, Ionicon, Octicon, Themify, MapIcon, MaterialIcon)

Primary LanguageSwiftMIT LicenseMIT

SwiftIconFont Banner

Build Status Version License Platform Carthage compatible Reviewed by Hound

Installation

Carthage

Carthage is a decentralized dependency manager that automates the process of adding frameworks to your Cocoa application.

You can install Carthage with Homebrew using the following command:

$ brew update
$ brew install carthage

To integrate SwiftIconFont into your Xcode project using Carthage, specify it in your Cartfile:

github "0x73/SwiftIconFont"

Cocoapods

CocoaPods is a dependency manager for Cocoa projects.

You can install it with the following command:

$ gem install cocoapods

To integrate SwiftIconFont into your Xcode project using CocoaPods, specify it in your Podfile:

use_frameworks!

pod 'SwiftIconFont'

Example

To run the example project, clone the repo, and run pod install from the Example directory first.

Prefixes

Font Prefix Cheat Sheet
Font Awesome fa: List
Ion Icons io: List
Octicons oc: List
Open Iconic ic: List
Material Icon ma: List
Themify ti: List
Map Icons mi: List
Segoe MDL2 sm: List

Fonts

public enum Fonts: String {
    case fontAwesome = "FontAwesome"
    case iconic = "open-iconic"
    case ionicon = "Ionicons"
    case octicon = "octicons"
    case themify = "themify"
    case mapIcon = "map-icons"
    case materialIcon = "MaterialIcons-Regular"
    case segoeMDL2 = "Segoe mdl2 assets"
}

Runtime Structure

< Prefix >:< Icon >

Usage

In your UILabel, UIButton or UITextField, set a text containing a placeholder anywhere you want the icon to be. Somethink like this

oc:logo-github

Then you can choose between 3 ways you can use SwiftIconFont.

1. Without Custom Class

Simply import SwiftIconFont and call processIcons on any UILabel, UIButton or UITextField that has a placeholder.

label.parseIcon()

2. Custom Class

The lazy way, just set your UILabel, UITextField, UIButton, UITextView, UIBarButtonItem class as SwiftIconLabel, SwiftIconTextField, SwiftIconButton, SwiftIconTextView, SwiftBarButtonItem, and thats it, your icons will be processed at runtime.

3. Programmatically

import SwiftIconFont

label.font = UIFont.icon(from: .fontAwesome, ofSize: 50.0)
label.text = String.fontAwesomeIcon(code: "twitter")

UIBarButtonItem (Without Custom Class)

import SwiftIconFont

twitterBarButton.icon(from: .fontAwesome, code: "twitter", ofSize: 20)

UITabBarItem (Without Custom Class)

import SwiftIconFont

twitterTabBarButton.icon(from: .fontAwesome, code: "twitter", imageSize: CGSizeMake(20, 20), ofSize: 20)

UIImage

import SwiftIconFont

let githubLogo = UIImage(from: .octicon, code: "logo-github", textColor: .black, backgroundColor: .clear, size: CGSize(width: 150, height: 50))

UIImageView

import SwiftIconFont

let githubLogoImageView: UIImageView = UIImageView(frame: CGRect(x: 120, y: self.view.frame.size.height - 130, width: 150, height: 50))
githubLogoImageView.setIcon(from: .octicon, code: "logo-github", textColor: .black, backgroundColor: .clear, size: nil)

Author

License

SwiftIconFont is available under the MIT license. See the LICENSE file for more info.

Contributing

  1. Fork it (http://github.com/0x73/SwiftIconFont/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request